saltstack / salt

Software to automate the management and configuration of any infrastructure or application at scale. Install Salt from the Salt package repositories here:
https://docs.saltproject.io/salt/install-guide/en/latest/
Apache License 2.0
14.21k stars 5.48k forks source link

[BUG] RecursionError: maximum recursion depth exceeded in comparison #59502

Open OrangeDog opened 3 years ago

OrangeDog commented 3 years ago

Description During first application of a highstate to a new minion I got this error.

[ERROR   ] An un-handled exception was caught by salt's global exception handler:
RecursionError: maximum recursion depth exceeded in comparison
Traceback (most recent call last):
  File "/usr/bin/salt-call", line 11, in <module>
    load_entry_point('salt==3002.2', 'console_scripts', 'salt-call')()
  File "/usr/lib/python3/dist-packages/salt/scripts.py", line 449, in salt_call
    client.run()
  File "/usr/lib/python3/dist-packages/salt/cli/call.py", line 58, in run
    caller.run()
  File "/usr/lib/python3/dist-packages/salt/cli/caller.py", line 112, in run
    ret = self.call()
  File "/usr/lib/python3/dist-packages/salt/cli/caller.py", line 219, in call
    ret["return"] = self.minion.executors[fname](
  File "/usr/lib/python3/dist-packages/salt/executors/direct_call.py", line 12, in execute
    return func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/salt/modules/state.py", line 801, in apply_
    return highstate(**kwargs)
  File "/usr/lib/python3/dist-packages/salt/modules/state.py", line 1123, in highstate
    ret = st_.call_highstate(
  File "/usr/lib/python3/dist-packages/salt/state.py", line 4472, in call_highstate
    return self.state.call_high(high, orchestration_jid)
  File "/usr/lib/python3/dist-packages/salt/state.py", line 3215, in call_high
    ret = self.call_chunks(chunks)
  File "/usr/lib/python3/dist-packages/salt/state.py", line 2477, in call_chunks
    running = self.call_chunk(low, running, chunks)
  File "/usr/lib/python3/dist-packages/salt/state.py", line 2954, in call_chunk
    running = self.call_chunk(chunk, running, chunks)
  File "/usr/lib/python3/dist-packages/salt/state.py", line 2965, in call_chunk
    running = self.call_chunk(low, running, chunks)
  File "/usr/lib/python3/dist-packages/salt/state.py", line 2965, in call_chunk
    running = self.call_chunk(low, running, chunks)
  File "/usr/lib/python3/dist-packages/salt/state.py", line 2965, in call_chunk
    running = self.call_chunk(low, running, chunks)
  [Previous line repeated 978 more times]
  File "/usr/lib/python3/dist-packages/salt/state.py", line 2954, in call_chunk
    running = self.call_chunk(chunk, running, chunks)
  File "/usr/lib/python3/dist-packages/salt/state.py", line 2848, in call_chunk
    status, reqs = self.check_requisite(low, running, chunks, pre=True)
  File "/usr/lib/python3/dist-packages/salt/state.py", line 2671, in check_requisite
    if fnmatch.fnmatch(
  File "/usr/lib/python3.8/fnmatch.py", line 36, in fnmatch
    return fnmatchcase(name, pat)
  File "/usr/lib/python3.8/fnmatch.py", line 70, in fnmatchcase
    match = _compile_pattern(pat)
RecursionError: maximum recursion depth exceeded in comparison

Setup

/tmp/dell-8ctk7.bin:
  file.managed:
    - source: https://dl.dell.com/FOLDER06526871M/1/Systems-Management_Application_8CTK7_LN64_1.9.0_A00.BIN
    - source_hash: 007ec6a263e24ffaa09d94240ebd658d1b11213be1a045f5c74247d03c5306d0
    - keep_source: false
    - mode: 744
    - prereq:
      - cmd: /tmp/dell-8ctk7.bin
  cmd.run:
    - creates: /usr/sbin/dsu
cleanup-dell-8ctk7:
  file.absent:
    - name: /tmp/dell-8ctk7.bin
    - require:
      - cmd: /tmp/dell-8ctk7.bin

Steps to Reproduce the behavior Apply the above SLS to a minion without /usr/sbin/dsu.

Debug log ``` 2021-02-15 12:07:57,287 [salt.loaded.int.render.yaml][DEBUG ] Results of YAML rendering: OrderedDict([('/tmp/dell-8ctk7.bin', OrderedDict([('file.managed', [OrderedDict([('source', 'https://dl.dell.com/FOLDER06526871M/1/Systems-Management_Application_8CTK7_LN64_1.9.0_A00.BIN')]), OrderedDict([('source_hash', '11f5d93166dcca29c7ef2f0d7ca346e18e6c849b990c89c27ee11fbffe769c2a')]), OrderedDict([('keep_source', False)]), OrderedDict([('mode', 744)]), OrderedDict([('prereq', [OrderedDict([('cmd', '/tmp/dell-8ctk7.bin')])])])]), ('cmd.run', [OrderedDict([('creates', '/usr/sbin/dsu')])])])), ('cleanup-dell-8ctk7', OrderedDict([('file.absent', [OrderedDict([('name', '/tmp/dell-8ctk7.bin')]), OrderedDict([('require', [OrderedDict([('cmd', '/tmp/dell-8ctk7.bin')])])])])]))]) 2021-02-15 12:07:57,287 [salt.template ][PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/dell/dell/init.sls' using 'yaml' renderer: 0.0021343231201171875 2021-02-15 12:07:57,289 [salt.utils.lazy ][DEBUG ] LazyLoaded config.option 2021-02-15 12:07:57,293 [salt.utils.lazy ][DEBUG ] LazyLoaded file.managed 2021-02-15 12:07:57,295 [salt.utils.lazy ][DEBUG ] LazyLoaded cmd.run 2021-02-15 12:07:57,296 [salt.state ][INFO ] Running state [/tmp/dell-8ctk7.bin] at time 12:07:57.296209 2021-02-15 12:07:57,307 [salt.utils.lazy ][DEBUG ] LazyLoaded db.load 2021-02-15 12:07:57,316 [salt.loader ][DEBUG ] Failed to import module es_policy 2021-02-15 12:07:57,358 [salt.config ][DEBUG ] Reading configuration from /etc/salt/minion 2021-02-15 12:07:57,358 [salt.config ][DEBUG ] Including configuration from '/etc/salt/minion.d/_schedule.conf' 2021-02-15 12:07:57,359 [salt.config ][DEBUG ] Reading configuration from /etc/salt/minion.d/_schedule.conf 2021-02-15 12:07:57,359 [salt.config ][DEBUG ] Including configuration from '/etc/salt/minion.d/default_env.conf' 2021-02-15 12:07:57,359 [salt.config ][DEBUG ] Reading configuration from /etc/salt/minion.d/default_env.conf 2021-02-15 12:07:57,359 [salt.config ][DEBUG ] Including configuration from '/etc/salt/minion.d/events.conf' 2021-02-15 12:07:57,359 [salt.config ][DEBUG ] Reading configuration from /etc/salt/minion.d/events.conf 2021-02-15 12:07:57,359 [salt.config ][DEBUG ] Including configuration from '/etc/salt/minion.d/logging.conf' 2021-02-15 12:07:57,359 [salt.config ][DEBUG ] Reading configuration from /etc/salt/minion.d/logging.conf 2021-02-15 12:07:57,359 [salt.config ][DEBUG ] Including configuration from '/etc/salt/minion.d/misc.conf' 2021-02-15 12:07:57,359 [salt.config ][DEBUG ] Reading configuration from /etc/salt/minion.d/misc.conf 2021-02-15 12:07:57,359 [salt.config ][DEBUG ] Including configuration from '/etc/salt/minion.d/output.conf' 2021-02-15 12:07:57,360 [salt.config ][DEBUG ] Reading configuration from /etc/salt/minion.d/output.conf 2021-02-15 12:07:57,360 [salt.config ][DEBUG ] Using cached minion ID from /etc/salt/minion_id: csrf-db2.eng.cam.ac.uk 2021-02-15 12:07:57,470 [salt.utils.lazy ][DEBUG ] Could not LazyLoad boto3.assign_funcs: 'boto3.assign_funcs' is not available. 2021-02-15 12:07:57,470 [salt.loader ][DEBUG ] Error loading module.boto3_elasticsearch: __init__ failed 2021-02-15 12:07:57,569 [salt.utils.lazy ][DEBUG ] LazyLoaded idem.hub 2021-02-15 12:07:57,751 [salt.loaded.int.module.win_dsc][DEBUG ] DSC: Only available on Windows systems 2021-02-15 12:07:57,760 [salt.loaded.int.module.win_psget][DEBUG ] Module PSGet: Only available on Windows systems 2021-02-15 12:07:57,786 [salt.utils.lazy ][DEBUG ] Could not LazyLoad acme.cert: 'acme' __virtual__ returned False: The ACME execution module cannot be loaded: letsencrypt-auto not installed. 2021-02-15 12:07:57,787 [salt.utils.lazy ][DEBUG ] LazyLoaded apache.config 2021-02-15 12:07:57,787 [salt.utils.lazy ][DEBUG ] LazyLoaded apache.a2enconf 2021-02-15 12:07:57,787 [salt.utils.lazy ][DEBUG ] LazyLoaded apache.a2enmod 2021-02-15 12:07:57,787 [salt.utils.lazy ][DEBUG ] LazyLoaded apache.a2ensite 2021-02-15 12:07:57,794 [salt.utils.lazy ][DEBUG ] Could not LazyLoad augeas.execute: 'augeas.execute' is not available. 2021-02-15 12:07:57,794 [salt.utils.lazy ][DEBUG ] LazyLoaded azurearm_compute.availability_set_create_or_update 2021-02-15 12:07:57,795 [salt.utils.lazy ][DEBUG ] LazyLoaded azurearm_dns.zones_list_by_resource_group 2021-02-15 12:07:57,795 [salt.utils.lazy ][DEBUG ] LazyLoaded azurearm_network.check_ip_address_availability 2021-02-15 12:07:57,795 [salt.utils.lazy ][DEBUG ] LazyLoaded azurearm_resource.resource_group_check_existence 2021-02-15 12:07:57,796 [salt.utils.lazy ][DEBUG ] LazyLoaded boto3_elasticache.cache_cluster_exists 2021-02-15 12:07:57,796 [salt.utils.lazy ][DEBUG ] LazyLoaded boto3_elasticsearch.describe_elasticsearch_domain 2021-02-15 12:07:57,797 [salt.utils.lazy ][DEBUG ] LazyLoaded boto3_route53.find_hosted_zone 2021-02-15 12:07:57,797 [salt.utils.lazy ][DEBUG ] LazyLoaded boto3_sns.topic_exists 2021-02-15 12:07:57,797 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_apigateway.describe_apis 2021-02-15 12:07:57,798 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_asg.exists 2021-02-15 12:07:57,798 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_cfn.exists 2021-02-15 12:07:57,798 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_cloudfront.get_distribution 2021-02-15 12:07:57,798 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_cloudtrail.exists 2021-02-15 12:07:57,799 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_cloudwatch.get_alarm 2021-02-15 12:07:57,799 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_cloudwatch_event.exists 2021-02-15 12:07:57,799 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_cognitoidentity.describe_identity_pools 2021-02-15 12:07:57,799 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_datapipeline.create_pipeline 2021-02-15 12:07:57,800 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_dynamodb.exists 2021-02-15 12:07:57,800 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_ec2.get_key 2021-02-15 12:07:57,800 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_elasticache.exists 2021-02-15 12:07:57,800 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_elasticsearch_domain.exists 2021-02-15 12:07:57,801 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_elb.exists 2021-02-15 12:07:57,801 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_elbv2.target_group_exists 2021-02-15 12:07:57,801 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_iam.get_user 2021-02-15 12:07:57,802 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_iam.role_exists 2021-02-15 12:07:57,802 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_iot.policy_exists 2021-02-15 12:07:57,802 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_kinesis.exists 2021-02-15 12:07:57,802 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_kms.describe_key 2021-02-15 12:07:57,803 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_lambda.function_exists 2021-02-15 12:07:57,803 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_asg.exists 2021-02-15 12:07:57,803 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_rds.exists 2021-02-15 12:07:57,804 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_route53.get_record 2021-02-15 12:07:57,804 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_s3.get_object_metadata 2021-02-15 12:07:57,804 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_s3_bucket.exists 2021-02-15 12:07:57,804 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_secgroup.exists 2021-02-15 12:07:57,805 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_sns.exists 2021-02-15 12:07:57,805 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_sqs.exists 2021-02-15 12:07:57,805 [salt.utils.lazy ][DEBUG ] LazyLoaded boto_vpc.exists 2021-02-15 12:07:57,805 [salt.utils.lazy ][DEBUG ] LazyLoaded bower.list 2021-02-15 12:07:57,806 [salt.utils.lazy ][DEBUG ] LazyLoaded chef.client 2021-02-15 12:07:57,806 [salt.utils.lazy ][DEBUG ] LazyLoaded chocolatey.install 2021-02-15 12:07:57,807 [salt.utils.lazy ][DEBUG ] LazyLoaded cimc.get_system_info 2021-02-15 12:07:57,808 [salt.utils.lazy ][DEBUG ] LazyLoaded cisconso.set_data_value 2021-02-15 12:07:57,809 [salt.utils.lazy ][DEBUG ] LazyLoaded csf.exists 2021-02-15 12:07:57,809 [salt.utils.lazy ][DEBUG ] LazyLoaded cyg.list 2021-02-15 12:07:57,809 [salt.utils.lazy ][DEBUG ] LazyLoaded ddns.update 2021-02-15 12:07:57,810 [salt.utils.lazy ][DEBUG ] LazyLoaded chassis.cmd 2021-02-15 12:07:57,814 [salt.utils.lazy ][DEBUG ] Could not LazyLoad docker.version: 'docker.version' is not available. 2021-02-15 12:07:57,819 [salt.utils.lazy ][DEBUG ] Could not LazyLoad docker.version: 'docker.version' is not available. 2021-02-15 12:07:57,823 [salt.utils.lazy ][DEBUG ] Could not LazyLoad docker.version: 'docker.version' is not available. 2021-02-15 12:07:57,827 [salt.utils.lazy ][DEBUG ] Could not LazyLoad docker.version: 'docker.version' is not available. 2021-02-15 12:07:57,829 [salt.utils.lazy ][DEBUG ] LazyLoaded eselect.exec_action 2021-02-15 12:07:57,832 [salt.utils.lazy ][DEBUG ] LazyLoaded esxi.cmd 2021-02-15 12:07:57,835 [salt.loaded.int.module.cmdmod][INFO ] Executing command ['git', '--version'] in directory '/root' 2021-02-15 12:07:57,838 [salt.loaded.int.module.cmdmod][DEBUG ] stdout: git version 2.25.1 2021-02-15 12:07:57,838 [salt.utils.lazy ][DEBUG ] LazyLoaded github.list_users 2021-02-15 12:07:57,840 [salt.utils.lazy ][DEBUG ] LazyLoaded glanceng.image_get 2021-02-15 12:07:57,840 [salt.utils.lazy ][DEBUG ] LazyLoaded glusterfs.list_volumes 2021-02-15 12:07:57,841 [salt.utils.lazy ][DEBUG ] LazyLoaded elasticsearch.exists 2021-02-15 12:07:57,845 [salt.utils.lazy ][DEBUG ] LazyLoaded icinga2.generate_ticket 2021-02-15 12:07:57,846 [salt.utils.lazy ][DEBUG ] LazyLoaded idem.hub 2021-02-15 12:07:57,846 [salt.utils.lazy ][DEBUG ] LazyLoaded ifttt.trigger_event 2021-02-15 12:07:57,850 [salt.utils.lazy ][DEBUG ] Could not LazyLoad influxdb08.db_exists: 'influxdb08.db_exists' is not available. 2021-02-15 12:07:57,854 [salt.utils.lazy ][DEBUG ] Could not LazyLoad influxdb08.db_exists: 'influxdb08.db_exists' is not available. 2021-02-15 12:07:57,859 [salt.utils.lazy ][DEBUG ] Could not LazyLoad influxdb.db_exists: 'influxdb.db_exists' is not available. 2021-02-15 12:07:57,863 [salt.utils.lazy ][DEBUG ] Could not LazyLoad influxdb.db_exists: 'influxdb.db_exists' is not available. 2021-02-15 12:07:57,867 [salt.utils.lazy ][DEBUG ] Could not LazyLoad influxdb.db_exists: 'influxdb.db_exists' is not available. 2021-02-15 12:07:57,871 [salt.utils.lazy ][DEBUG ] Could not LazyLoad influxdb.db_exists: 'influxdb.db_exists' is not available. 2021-02-15 12:07:57,873 [salt.utils.lazy ][DEBUG ] LazyLoaded ipset.version 2021-02-15 12:07:57,874 [salt.utils.lazy ][DEBUG ] LazyLoaded kapacitor.version 2021-02-15 12:07:57,874 [salt.utils.lazy ][DEBUG ] LazyLoaded keystone.auth 2021-02-15 12:07:57,875 [salt.utils.lazy ][DEBUG ] LazyLoaded keystoneng.domain_get 2021-02-15 12:07:57,875 [salt.utils.lazy ][DEBUG ] LazyLoaded keystoneng.endpoint_get 2021-02-15 12:07:57,875 [salt.utils.lazy ][DEBUG ] LazyLoaded keystoneng.group_get 2021-02-15 12:07:57,875 [salt.utils.lazy ][DEBUG ] LazyLoaded keystoneng.project_get 2021-02-15 12:07:57,875 [salt.utils.lazy ][DEBUG ] LazyLoaded keystoneng.role_get 2021-02-15 12:07:57,875 [salt.utils.lazy ][DEBUG ] LazyLoaded keystoneng.role_grant 2021-02-15 12:07:57,876 [salt.utils.lazy ][DEBUG ] LazyLoaded keystoneng.service_get 2021-02-15 12:07:57,876 [salt.utils.lazy ][DEBUG ] LazyLoaded keystoneng.user_get 2021-02-15 12:07:57,876 [salt.utils.lazy ][DEBUG ] LazyLoaded keystore.list 2021-02-15 12:07:57,881 [salt.utils.lazy ][DEBUG ] Could not LazyLoad kubernetes.ping: 'kubernetes.ping' is not available. 2021-02-15 12:07:57,881 [salt.utils.lazy ][DEBUG ] LazyLoaded layman.add 2021-02-15 12:07:57,881 [salt.utils.lazy ][DEBUG ] LazyLoaded libcloud_dns.list_zones 2021-02-15 12:07:57,882 [salt.utils.lazy ][DEBUG ] LazyLoaded libcloud_loadbalancer.list_balancers 2021-02-15 12:07:57,882 [salt.utils.lazy ][DEBUG ] LazyLoaded libcloud_storage.list_containers 2021-02-15 12:07:57,883 [salt.utils.lazy ][DEBUG ] LazyLoaded logadm.list_conf 2021-02-15 12:07:57,883 [salt.utils.lazy ][DEBUG ] LazyLoaded lvs.get_rules 2021-02-15 12:07:57,884 [salt.utils.lazy ][DEBUG ] LazyLoaded lvs.get_rules 2021-02-15 12:07:57,884 [salt.utils.lazy ][DEBUG ] LazyLoaded lxd.version 2021-02-15 12:07:57,884 [salt.utils.lazy ][DEBUG ] LazyLoaded lxd.version 2021-02-15 12:07:57,884 [salt.utils.lazy ][DEBUG ] LazyLoaded lxd.version 2021-02-15 12:07:57,885 [salt.utils.lazy ][DEBUG ] LazyLoaded lxd.version 2021-02-15 12:07:57,886 [salt.utils.lazy ][DEBUG ] LazyLoaded makeconf.get_var 2021-02-15 12:07:57,888 [salt.utils.lazy ][DEBUG ] LazyLoaded memcached.status 2021-02-15 12:07:57,888 [salt.utils.lazy ][DEBUG ] LazyLoaded mongodb.db_exists 2021-02-15 12:07:57,889 [salt.utils.lazy ][DEBUG ] LazyLoaded mongodb.user_exists 2021-02-15 12:07:57,889 [salt.utils.lazy ][DEBUG ] LazyLoaded monit.summary 2021-02-15 12:07:57,889 [salt.utils.lazy ][DEBUG ] LazyLoaded mssql.version 2021-02-15 12:07:57,889 [salt.utils.lazy ][DEBUG ] LazyLoaded mssql.version 2021-02-15 12:07:57,890 [salt.utils.lazy ][DEBUG ] LazyLoaded mssql.version 2021-02-15 12:07:57,890 [salt.utils.lazy ][DEBUG ] LazyLoaded mssql.version 2021-02-15 12:07:57,890 [salt.utils.lazy ][DEBUG ] LazyLoaded mysql.db_exists 2021-02-15 12:07:57,890 [salt.utils.lazy ][DEBUG ] LazyLoaded mysql.grant_exists 2021-02-15 12:07:57,891 [salt.utils.lazy ][DEBUG ] LazyLoaded mysql.query 2021-02-15 12:07:57,891 [salt.utils.lazy ][DEBUG ] LazyLoaded mysql.user_create 2021-02-15 12:07:57,895 [salt.utils.lazy ][DEBUG ] LazyLoaded neutronng.list_networks 2021-02-15 12:07:57,895 [salt.utils.lazy ][DEBUG ] LazyLoaded neutronng.list_subnets 2021-02-15 12:07:57,895 [salt.utils.lazy ][DEBUG ] LazyLoaded neutronng.list_subnets 2021-02-15 12:07:57,896 [salt.utils.lazy ][DEBUG ] LazyLoaded neutronng.list_subnets 2021-02-15 12:07:57,896 [salt.utils.lazy ][DEBUG ] LazyLoaded nftables.version 2021-02-15 12:07:57,896 [salt.utils.lazy ][DEBUG ] LazyLoaded npm.list 2021-02-15 12:07:57,897 [salt.utils.lazy ][DEBUG ] LazyLoaded openvswitch.bridge_create 2021-02-15 12:07:57,898 [salt.utils.lazy ][DEBUG ] LazyLoaded openvswitch.port_add 2021-02-15 12:07:57,899 [salt.utils.lazy ][DEBUG ] LazyLoaded panos.commit 2021-02-15 12:07:57,900 [salt.utils.lazy ][DEBUG ] LazyLoaded pdbedit.create 2021-02-15 12:07:57,901 [salt.utils.lazy ][DEBUG ] LazyLoaded pecl.list 2021-02-15 12:07:57,995 [salt.utils.lazy ][DEBUG ] LazyLoaded portage_config.get_missing_flags 2021-02-15 12:07:57,995 [salt.utils.lazy ][DEBUG ] LazyLoaded postgres.cluster_exists 2021-02-15 12:07:57,995 [salt.utils.lazy ][DEBUG ] LazyLoaded postgres.user_exists 2021-02-15 12:07:57,996 [salt.utils.lazy ][DEBUG ] LazyLoaded postgres.create_extension 2021-02-15 12:07:57,996 [salt.utils.lazy ][DEBUG ] LazyLoaded postgres.group_create 2021-02-15 12:07:57,996 [salt.utils.lazy ][DEBUG ] LazyLoaded postgres.datadir_init 2021-02-15 12:07:57,996 [salt.utils.lazy ][DEBUG ] LazyLoaded postgres.language_create 2021-02-15 12:07:57,997 [salt.utils.lazy ][DEBUG ] LazyLoaded postgres.privileges_grant 2021-02-15 12:07:57,997 [salt.utils.lazy ][DEBUG ] LazyLoaded postgres.schema_exists 2021-02-15 12:07:57,997 [salt.utils.lazy ][DEBUG ] LazyLoaded postgres.tablespace_exists 2021-02-15 12:07:57,997 [salt.utils.lazy ][DEBUG ] LazyLoaded postgres.user_exists 2021-02-15 12:07:57,999 [salt.utils.lazy ][DEBUG ] LazyLoaded quota.report 2021-02-15 12:07:58,001 [salt.utils.lazy ][DEBUG ] LazyLoaded rabbitmq.list_upstreams 2021-02-15 12:07:58,006 [salt.utils.lazy ][DEBUG ] Could not LazyLoad rbac.profile_list: 'rbac.profile_list' is not available. 2021-02-15 12:07:58,006 [salt.utils.lazy ][DEBUG ] LazyLoaded rdp.enable 2021-02-15 12:07:58,010 [salt.utils.lazy ][DEBUG ] Could not LazyLoad redis.set_key: 'redis.set_key' is not available. 2021-02-15 12:07:58,012 [salt.utils.lazy ][DEBUG ] Could not LazyLoad reg.read_value: 'reg.read_value' is not available. 2021-02-15 12:07:58,014 [salt.utils.lazy ][DEBUG ] LazyLoaded selinux.getenforce 2021-02-15 12:07:58,018 [salt.utils.lazy ][DEBUG ] Could not LazyLoad vmadm.create: 'vmadm.create' is not available. 2021-02-15 12:07:58,019 [salt.utils.lazy ][DEBUG ] LazyLoaded snapper.diff 2021-02-15 12:07:58,019 [salt.utils.lazy ][DEBUG ] LazyLoaded splunk.list_users 2021-02-15 12:07:58,019 [salt.utils.lazy ][DEBUG ] LazyLoaded splunk_search.get 2021-02-15 12:07:58,023 [salt.utils.lazy ][DEBUG ] LazyLoaded tls.cert_info 2021-02-15 12:07:58,023 [salt.utils.lazy ][DEBUG ] LazyLoaded tomcat.status 2021-02-15 12:07:58,023 [salt.utils.lazy ][DEBUG ] LazyLoaded trafficserver.set_config 2021-02-15 12:07:58,024 [salt.utils.lazy ][DEBUG ] LazyLoaded vagrant.version 2021-02-15 12:07:58,025 [salt.utils.lazy ][DEBUG ] LazyLoaded victorops.create_event 2021-02-15 12:07:58,026 [salt.utils.lazy ][DEBUG ] LazyLoaded virt.node_info 2021-02-15 12:07:58,027 [salt.utils.lazy ][DEBUG ] LazyLoaded win_dacl.add_ace 2021-02-15 12:07:58,027 [salt.utils.lazy ][DEBUG ] LazyLoaded win_dns_client.add_dns 2021-02-15 12:07:58,031 [salt.utils.lazy ][DEBUG ] Could not LazyLoad firewall.get_config: 'firewall.get_config' is not available. 2021-02-15 12:07:58,032 [salt.utils.lazy ][DEBUG ] LazyLoaded win_iis.create_site 2021-02-15 12:07:58,036 [salt.utils.lazy ][DEBUG ] Could not LazyLoad lgpo.set: 'lgpo.set' is not available. 2021-02-15 12:07:58,036 [salt.utils.lazy ][DEBUG ] LazyLoaded win_path.rehash 2021-02-15 12:07:58,037 [salt.utils.lazy ][DEBUG ] LazyLoaded win_pki.get_stores 2021-02-15 12:07:58,037 [salt.utils.lazy ][DEBUG ] LazyLoaded win_servermanager.install 2021-02-15 12:07:58,037 [salt.utils.lazy ][DEBUG ] LazyLoaded win_smtp_server.get_server_setting 2021-02-15 12:07:58,037 [salt.utils.lazy ][DEBUG ] LazyLoaded win_snmp.get_agent_settings 2021-02-15 12:07:58,038 [salt.utils.lazy ][DEBUG ] LazyLoaded wordpress.show_plugin 2021-02-15 12:07:58,039 [salt.utils.lazy ][DEBUG ] LazyLoaded xmpp.send_msg 2021-02-15 12:07:58,041 [salt.utils.lazy ][DEBUG ] LazyLoaded zk_concurrency.lock 2021-02-15 12:07:58,042 [salt.utils.lazy ][DEBUG ] LazyLoaded zonecfg.create 2021-02-15 12:07:58,042 [salt.utils.lazy ][DEBUG ] LazyLoaded zookeeper.create 2021-02-15 12:07:58,045 [salt.utils.lazy ][DEBUG ] Could not LazyLoad cmd.mod_run_check: 'cmd.mod_run_check' is not available. 2021-02-15 12:07:58,045 [salt.state ][INFO ] Running state [/tmp/dell-8ctk7.bin] at time 12:07:58.045876 2021-02-15 12:07:58,046 [salt.state ][INFO ] Executing state file.managed for [/tmp/dell-8ctk7.bin] 2021-02-15 12:07:58,049 [salt.transport.zeromq][DEBUG ] Initializing new AsyncZeroMQReqChannel for ('/etc/salt/pki/minion', 'csrf-db2.eng.cam.ac.uk', 'tcp://129.169.140.30:4506', 'aes') 2021-02-15 12:07:58,049 [salt.crypt ][DEBUG ] Initializing new AsyncAuth for ('/etc/salt/pki/minion', 'csrf-db2.eng.cam.ac.uk', 'tcp://129.169.140.30:4506') 2021-02-15 12:07:58,049 [salt.transport.zeromq][DEBUG ] Connecting the Minion to the Master URI (for the return server): tcp://129.169.140.30:4506 2021-02-15 12:07:58,049 [salt.transport.zeromq][DEBUG ] Trying to connect to: tcp://129.169.140.30:4506 2021-02-15 12:07:58,050 [salt.utils.http ][DEBUG ] Requesting URL https://dl.dell.com/FOLDER06526871M/1/Systems-Management_Application_8CTK7_LN64_1.9.0_A00.BIN using GET method 2021-02-15 12:07:58,050 [salt.utils.http ][DEBUG ] Using backend: tornado 2021-02-15 12:07:58,258 [salt.state ][ERROR ] Specified sha256 checksum for /tmp/dell-8ctk7.bin (11f5d93166dcca29c7ef2f0d7ca346e18e6c849b990c89c27ee11fbffe769c2a) does not match actual checksum (007ec6a263e24ffaa09d94240ebd658d1b11213be1a045f5c74247d03c5306d0) 2021-02-15 12:07:58,258 [salt.state ][INFO ] Completed state [/tmp/dell-8ctk7.bin] at time 12:07:58.258821 (duration_in_ms=212.945) 2021-02-15 12:07:58,303 [salt.transport.zeromq][DEBUG ] Closing AsyncZeroMQReqChannel instance 2021-02-15 12:07:58,304 [salt.transport.zeromq][DEBUG ] Closing AsyncZeroMQReqChannel instance 2021-02-15 12:07:58,304 [salt.transport.zeromq][DEBUG ] Closing AsyncZeroMQReqChannel instance 2021-02-15 12:07:58,307 [salt.log.setup ][ERROR ] An un-handled exception was caught by salt's global exception handler: RecursionError: maximum recursion depth exceeded in comparison ```

Expected behavior

Either:

  1. These states should work, according to the documentation.
  2. If the relationship is actually unsatisfied, salt should detect the problem and report the states involved, instead of unbounded recursion.

Versions Report

salt-call --versions-report ``` Salt Version: Salt: 3002.2 Dependency Versions: cffi: Not Installed cherrypy: Not Installed dateutil: 2.7.3 docker-py: Not Installed gitdb: Not Installed gitpython: Not Installed Jinja2: 2.10.1 libgit2: 0.28.3 M2Crypto: 0.31.0 Mako: Not Installed msgpack: 0.6.2 msgpack-pure: Not Installed mysql-python: Not Installed pycparser: Not Installed pycrypto: Not Installed pycryptodome: 3.6.1 pygit2: 1.0.3 Python: 3.8.5 (default, Jul 28 2020, 12:59:40) python-gnupg: 0.4.5 PyYAML: 5.3.1 PyZMQ: 18.1.1 smmap: Not Installed timelib: Not Installed Tornado: 4.5.3 ZMQ: 4.3.2 System Versions: dist: ubuntu 20.04 focal locale: iso8859-1 machine: x86_64 release: 5.4.0-65-generic system: Linux version: Ubuntu 20.04 focal ```
OrangeDog commented 3 years ago

Spitting into three names makes it work:

Download DSU intaller:
  file.managed:
    - name: /tmp/dell-8ctk7.bin
    - source: https://dl.dell.com/FOLDER06526871M/1/Systems-Management_Application_8CTK7_LN64_1.9.0_A00.BIN
    - source_hash: 007ec6a263e24ffaa09d94240ebd658d1b11213be1a045f5c74247d03c5306d0
    - keep_source: false
    - mode: 744
    - prereq:
      - cmd: Run DSU installer
Run DSU installer:
  cmd.run:
    - name: /tmp/dell-8ctk7.bin -q
    - creates: /usr/sbin/dsu
Cleanup DSU installer:
  file.absent:
    - name: /tmp/dell-8ctk7.bin
    - require:
      - cmd: Run DSU installer