saltstack-formulas / openssh-formula

http://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html
Other
90 stars 297 forks source link

fix(libmatchers): python client API can use `config.get` options #204

Closed baby-gnu closed 2 years ago

baby-gnu commented 2 years ago

PR progress checklist (to be filled in by reviewers)


What type of PR is this?

Primary type

Secondary type

Does this PR introduce a BREAKING CHANGE?

No.

Related issues and/or pull requests

Fixes #203

Describe the changes you're proposing

fix(libmatchers): python client API can use config.get options

Only salt-ssh can't use them actually.

Pillar / config required to test the proposed changes

Debug log showing how the proposed changes work

I created

values:
  foo: 'bar'

With the following test-libsaltcli script:

#!/usr/bin/python3

import logging
# The new log level for `config.get` options is warning
# Use `logging.INFO` to have some context
logging.basicConfig(level=logging.INFO,
                    handlers=[logging.StreamHandler()])

import salt.client
caller = salt.client.Caller()
caller.cmd('state.apply', 'foo.test')

Here is the output I got when running the test-libsaltcli script:

I found the proper DEBUG:salt.loaded.int.module.logmod:[libsaltcli] the salt command type has been identified to be: api log.

Complete log log with level=logging.DEBUG ```DEBUG:salt.utils.decorators.jinja:Marking 'set_dict_key_value' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'update_dict_key_value' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'append_dict_key_value' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'extend_dict_key_value' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'to_bytes' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'to_num' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'str_to_num' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'is_hex' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'random_str' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'contains_whitespace' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'check_whitelist_blacklist' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'to_snake_case' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'to_camelcase' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'compare_dicts' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'compare_lists' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'json_encode_dict' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'json_decode_dict' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'json_encode_list' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'json_decode_list' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'exactly_n_true' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'exactly_one_true' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'traverse' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'substring_in_list' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'is_list' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'is_iter' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'sorted_ignorecase' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'mysql_to_dict' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'json_query' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'which' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'path_join' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'is_empty' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'is_text_file' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'is_bin_file' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'list_files' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'is_ip' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'is_ipv4' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'is_ipv6' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'ipv4' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'ipv6' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'ipaddr' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'ip_host' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'network_hosts' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'network_size' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'gen_mac' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'mac_str_to_bytes' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'dns_check' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'filter_by_networks' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'get_uid' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'base64_encode' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'base64_decode' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'md5' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'sha1' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'sha256' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'sha512' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'hmac' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'hmac_compute' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'random_hash' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'rand_str' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'file_hashsum' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'http_query' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'strftime' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'date_format' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'raise' as a jinja global DEBUG:salt.utils.decorators.jinja:Marking 'match' as a jinja test DEBUG:salt.utils.decorators.jinja:Marking 'equalto' as a jinja test DEBUG:salt.utils.decorators.jinja:Marking 'skip' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'sequence' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'to_bool' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'indent' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'tojson' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'quote' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'regex_escape' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'regex_search' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'regex_match' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'regex_replace' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'uuid' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'unique' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'min' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'max' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'avg' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'union' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'intersect' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'difference' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'symmetric_difference' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'method_call' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'yaml_dquote' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'yaml_squote' as a jinja filter DEBUG:salt.utils.decorators.jinja:Marking 'yaml_encode' as a jinja filter DEBUG:salt.config:Reading configuration from /etc/salt/minion DEBUG:salt.config:Including configuration from '/etc/salt/minion.d/_schedule.conf' DEBUG:salt.config:Reading configuration from /etc/salt/minion.d/_schedule.conf DEBUG:salt.config:Including configuration from '/etc/salt/minion.d/beacons.conf' DEBUG:salt.config:Reading configuration from /etc/salt/minion.d/beacons.conf DEBUG:salt.config:Including configuration from '/etc/salt/minion.d/engine.conf' DEBUG:salt.config:Reading configuration from /etc/salt/minion.d/engine.conf DEBUG:salt.config:Including configuration from '/etc/salt/minion.d/f_defaults.conf' DEBUG:salt.config:Reading configuration from /etc/salt/minion.d/f_defaults.conf DEBUG:salt.config:Including configuration from '/etc/salt/minion.d/reactor.conf' DEBUG:salt.config:Reading configuration from /etc/salt/minion.d/reactor.conf DEBUG:salt.config:Using cached minion ID from /etc/salt/minion_id: salt-alcali_196_salt_master_0 DEBUG:salt.loader:Grains refresh requested. Refreshing grains. DEBUG:salt.config:Reading configuration from /etc/salt/minion DEBUG:salt.config:Including configuration from '/etc/salt/minion.d/_schedule.conf' DEBUG:salt.config:Reading configuration from /etc/salt/minion.d/_schedule.conf DEBUG:salt.config:Including configuration from '/etc/salt/minion.d/beacons.conf' DEBUG:salt.config:Reading configuration from /etc/salt/minion.d/beacons.conf DEBUG:salt.config:Including configuration from '/etc/salt/minion.d/engine.conf' DEBUG:salt.config:Reading configuration from /etc/salt/minion.d/engine.conf DEBUG:salt.config:Including configuration from '/etc/salt/minion.d/f_defaults.conf' DEBUG:salt.config:Reading configuration from /etc/salt/minion.d/f_defaults.conf DEBUG:salt.config:Including configuration from '/etc/salt/minion.d/reactor.conf' DEBUG:salt.config:Reading configuration from /etc/salt/minion.d/reactor.conf DEBUG:salt.utils.entrypoints:Using importlib_metadata to load entry points DEBUG:salt.loader.lazy:Override __utils__: DEBUG:salt.modules.network:Unable to resolve address fe80::c0ff:fea8:6b: [Errno 1] Unknown host DEBUG:salt.modules.network:Elapsed time getting FQDNs: 0.01723313331604004 seconds DEBUG:salt.loaded.int.grains.extra:Loading static grains from /etc/salt/grains DEBUG:salt.utils.lazy:LazyLoaded zfs.is_supported DEBUG:salt.minion:Connecting to master. Attempt 1 of 1 DEBUG:salt.utils.network:"salt-alcali_196_salt_master_0" Not an IP address? Assuming it is a hostname. DEBUG:salt.minion:Master URI: tcp://192.168.0.107:4506 DEBUG:salt.crypt:Initializing new AsyncAuth for ('/etc/salt/pki/minion', 'salt-alcali_196_salt_master_0', 'tcp://192.168.0.107:4506') DEBUG:salt.transport.zeromq:Generated random reconnect delay between '1000ms' and '11000ms' (10248) DEBUG:salt.transport.zeromq:Setting zmq_reconnect_ivl to '10248ms' DEBUG:salt.transport.zeromq:Setting zmq_reconnect_ivl_max to '11000ms' DEBUG:salt.transport.zeromq:Connecting the Minion to the Master URI (for the return server): tcp://192.168.0.107:4506 DEBUG:salt.transport.zeromq:Trying to connect to: tcp://192.168.0.107:4506 DEBUG:salt.crypt:salt.crypt.get_rsa_pub_key: Loading public key DEBUG:salt.crypt:Decrypting the current master AES key DEBUG:salt.crypt:salt.crypt.get_rsa_key: Loading private key DEBUG:salt.crypt:salt.crypt._get_key_with_evict: Loading private key DEBUG:salt.crypt:Loaded minion key: /etc/salt/pki/minion/minion.pem DEBUG:salt.crypt:salt.crypt.get_rsa_pub_key: Loading public key DEBUG:salt.transport.zeromq:Closing AsyncZeroMQReqChannel instance DEBUG:salt.transport.zeromq:Connecting the Minion to the Master publish port, using the URI: tcp://192.168.0.107:4505 DEBUG:salt.crypt:salt.crypt.get_rsa_key: Loading private key DEBUG:salt.crypt:Loaded minion key: /etc/salt/pki/minion/minion.pem DEBUG:salt.pillar:Determining pillar cache DEBUG:salt.crypt:Initializing new AsyncAuth for ('/etc/salt/pki/minion', 'salt-alcali_196_salt_master_0', 'tcp://192.168.0.107:4506') DEBUG:salt.transport.zeromq:Connecting the Minion to the Master URI (for the return server): tcp://192.168.0.107:4506 DEBUG:salt.transport.zeromq:Trying to connect to: tcp://192.168.0.107:4506 DEBUG:salt.crypt:salt.crypt.get_rsa_key: Loading private key DEBUG:salt.crypt:Loaded minion key: /etc/salt/pki/minion/minion.pem DEBUG:salt.transport.zeromq:Closing AsyncZeroMQReqChannel instance DEBUG:salt.utils.entrypoints:Using importlib_metadata to load entry points DEBUG:salt.utils.lazy:LazyLoaded jinja.render DEBUG:salt.utils.lazy:LazyLoaded yaml.render DEBUG:salt.utils.lazy:LazyLoaded state.apply DEBUG:salt.utils.lazy:LazyLoaded saltutil.is_running DEBUG:salt.loader.lazy:Override __grains__: DEBUG:salt.utils.lazy:LazyLoaded grains.get DEBUG:salt.utils.lazy:LazyLoaded config.get DEBUG:salt.crypt:Initializing new AsyncAuth for ('/etc/salt/pki/minion', 'salt-alcali_196_salt_master_0', 'tcp://192.168.0.107:4506') DEBUG:salt.transport.zeromq:Connecting the Minion to the Master URI (for the return server): tcp://192.168.0.107:4506 DEBUG:salt.transport.zeromq:Trying to connect to: tcp://192.168.0.107:4506 DEBUG:salt.state:Gathering pillar data for state run DEBUG:salt.pillar:Determining pillar cache DEBUG:salt.crypt:Initializing new AsyncAuth for ('/etc/salt/pki/minion', 'salt-alcali_196_salt_master_0', 'tcp://192.168.0.107:4506') DEBUG:salt.transport.zeromq:Connecting the Minion to the Master URI (for the return server): tcp://192.168.0.107:4506 DEBUG:salt.transport.zeromq:Trying to connect to: tcp://192.168.0.107:4506 DEBUG:salt.crypt:salt.crypt.get_rsa_key: Loading private key DEBUG:salt.crypt:Loaded minion key: /etc/salt/pki/minion/minion.pem DEBUG:salt.transport.zeromq:Closing AsyncZeroMQReqChannel instance DEBUG:salt.state:Finished gathering pillar data for state run INFO:salt.state:Loading fresh modules for state activity DEBUG:salt.utils.lazy:LazyLoaded jinja.render DEBUG:salt.utils.lazy:LazyLoaded yaml.render DEBUG:salt.fileclient:In saltenv 'base', looking at rel_path 'foo/test.sls' to resolve 'salt://foo/test.sls' DEBUG:salt.fileclient:In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/foo/test.sls' to resolve 'salt://foo/test.sls' DEBUG:salt.template:compile template: /var/cache/salt/minion/files/base/foo/test.sls DEBUG:salt.utils.jinja:Jinja search path: ['/var/cache/salt/minion/files/base'] DEBUG:salt.crypt:Initializing new AsyncAuth for ('/etc/salt/pki/minion', 'salt-alcali_196_salt_master_0', 'tcp://192.168.0.107:4506') DEBUG:salt.transport.zeromq:Connecting the Minion to the Master URI (for the return server): tcp://192.168.0.107:4506 DEBUG:salt.transport.zeromq:Trying to connect to: tcp://192.168.0.107:4506 DEBUG:salt.fileclient:In saltenv 'base', looking at rel_path 'foo/map.jinja' to resolve 'salt://foo/map.jinja' DEBUG:salt.fileclient:In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/foo/map.jinja' to resolve 'salt://foo/map.jinja' DEBUG:salt.fileclient:In saltenv 'base', looking at rel_path 'foo/libmapstack.jinja' to resolve 'salt://foo/libmapstack.jinja' DEBUG:salt.fileclient:In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/foo/libmapstack.jinja' to resolve 'salt://foo/libmapstack.jinja' DEBUG:salt.fileclient:In saltenv 'base', looking at rel_path 'foo/libmatchers.jinja' to resolve 'salt://foo/libmatchers.jinja' DEBUG:salt.fileclient:In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/foo/libmatchers.jinja' to resolve 'salt://foo/libmatchers.jinja' DEBUG:salt.fileclient:In saltenv 'base', looking at rel_path 'foo/libsaltcli.jinja' to resolve 'salt://foo/libsaltcli.jinja' DEBUG:salt.fileclient:In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/foo/libsaltcli.jinja' to resolve 'salt://foo/libsaltcli.jinja' DEBUG:salt.utils.lazy:LazyLoaded log.debug DEBUG:salt.loaded.int.module.logmod:[libsaltcli] the salt command type has been identified to be: api DEBUG:salt.utils.lazy:LazyLoaded config.get DEBUG:salt.loaded.int.module.logmod:map.jinja configuration: process matcher: 'map_jinja.yaml' DEBUG:salt.loaded.int.module.logmod:map.jinja configuration: use built-in defaults for matcher: option: null query: map_jinja.yaml query_delimiter: ':' query_method: config.get type: F DEBUG:salt.loaded.int.module.logmod:map.jinja configuration: lookup 'map_jinja.yaml' with 'config.get' DEBUG:salt.loaded.int.module.logmod:map.jinja configuration: parsed matchers: - option: null query: map_jinja.yaml query_delimiter: ':' query_method: config.get type: F value: [] DEBUG:salt.loaded.int.module.logmod:map.jinja configuration: built-in configuration: values: sources: - Y:G@osarch - Y:G@os_family - Y:G@os - Y:G@osfinger - C@foo:lookup - C@foo - Y:G@id DEBUG:salt.loaded.int.module.logmod:map.jinja configuration: load configuration values from parameters/map_jinja.yaml DEBUG:salt.fileclient:Could not find file 'salt://parameters/map_jinja.yaml' in saltenv 'base' DEBUG:salt.loaded.int.module.logmod:map.jinja configuration: load configuration values from parameters/map_jinja.yaml.jinja DEBUG:salt.fileclient:Could not find file 'salt://parameters/map_jinja.yaml.jinja' in saltenv 'base' DEBUG:salt.loaded.int.module.logmod:map.jinja configuration: load configuration values from foo/parameters/map_jinja.yaml DEBUG:salt.fileclient:Could not find file 'salt://foo/parameters/map_jinja.yaml' in saltenv 'base' DEBUG:salt.loaded.int.module.logmod:map.jinja configuration: load configuration values from foo/parameters/map_jinja.yaml.jinja DEBUG:salt.fileclient:Could not find file 'salt://foo/parameters/map_jinja.yaml.jinja' in saltenv 'base' DEBUG:salt.loaded.int.module.logmod:map.jinja configuration: final configuration values: values: sources: - Y:G@osarch - Y:G@os_family - Y:G@os - Y:G@osfinger - C@foo:lookup - C@foo - Y:G@id DEBUG:salt.loaded.int.module.logmod:map.jinja: load parameters from sources: - Y:G@osarch - Y:G@os_family - Y:G@os - Y:G@osfinger - C@foo:lookup - C@foo - Y:G@id DEBUG:salt.loaded.int.module.logmod:map.jinja: process matcher: 'defaults.yaml' DEBUG:salt.loaded.int.module.logmod:map.jinja: use built-in defaults for matcher: option: null query: defaults.yaml query_delimiter: ':' query_method: config.get type: F DEBUG:salt.loaded.int.module.logmod:map.jinja: lookup 'defaults.yaml' with 'config.get' DEBUG:salt.loaded.int.module.logmod:map.jinja: process matcher: 'Y:G@osarch' DEBUG:salt.loaded.int.module.logmod:map.jinja: parse matcher: 'Y:G@osarch' DEBUG:salt.loaded.int.module.logmod:map.jinja: parse as 2 metadata matcher: option: G query: osarch query_delimiter: ':' type: Y DEBUG:salt.loaded.int.module.logmod:map.jinja: lookup 'osarch' with 'grains.get' DEBUG:salt.loader.lazy:Override __grains__: DEBUG:salt.utils.lazy:LazyLoaded grains.get DEBUG:salt.loaded.int.module.logmod:map.jinja: process matcher: 'Y:G@os_family' DEBUG:salt.loaded.int.module.logmod:map.jinja: parse matcher: 'Y:G@os_family' DEBUG:salt.loaded.int.module.logmod:map.jinja: parse as 2 metadata matcher: option: G query: os_family query_delimiter: ':' type: Y DEBUG:salt.loaded.int.module.logmod:map.jinja: lookup 'os_family' with 'grains.get' DEBUG:salt.loaded.int.module.logmod:map.jinja: process matcher: 'Y:G@os' DEBUG:salt.loaded.int.module.logmod:map.jinja: parse matcher: 'Y:G@os' DEBUG:salt.loaded.int.module.logmod:map.jinja: parse as 2 metadata matcher: option: G query: os query_delimiter: ':' type: Y DEBUG:salt.loaded.int.module.logmod:map.jinja: lookup 'os' with 'grains.get' DEBUG:salt.loaded.int.module.logmod:map.jinja: process matcher: 'Y:G@osfinger' DEBUG:salt.loaded.int.module.logmod:map.jinja: parse matcher: 'Y:G@osfinger' DEBUG:salt.loaded.int.module.logmod:map.jinja: parse as 2 metadata matcher: option: G query: osfinger query_delimiter: ':' type: Y DEBUG:salt.loaded.int.module.logmod:map.jinja: lookup 'osfinger' with 'grains.get' DEBUG:salt.loaded.int.module.logmod:map.jinja: process matcher: 'C@foo:lookup' DEBUG:salt.loaded.int.module.logmod:map.jinja: parse matcher: 'C@foo:lookup' DEBUG:salt.loaded.int.module.logmod:map.jinja: parse as 1 metadata matcher: option: C query: foo:lookup query_delimiter: ':' type: C DEBUG:salt.loaded.int.module.logmod:map.jinja: lookup 'foo:lookup' with 'config.get' DEBUG:salt.loaded.int.module.logmod:map.jinja: process matcher: 'C@foo' DEBUG:salt.loaded.int.module.logmod:map.jinja: parse matcher: 'C@foo' DEBUG:salt.loaded.int.module.logmod:map.jinja: parse as 1 metadata matcher: option: C query: foo query_delimiter: ':' type: C DEBUG:salt.loaded.int.module.logmod:map.jinja: lookup 'foo' with 'config.get' DEBUG:salt.loaded.int.module.logmod:map.jinja: process matcher: 'Y:G@id' DEBUG:salt.loaded.int.module.logmod:map.jinja: parse matcher: 'Y:G@id' DEBUG:salt.loaded.int.module.logmod:map.jinja: parse as 2 metadata matcher: option: G query: id query_delimiter: ':' type: Y DEBUG:salt.loaded.int.module.logmod:map.jinja: lookup 'id' with 'grains.get' DEBUG:salt.loaded.int.module.logmod:map.jinja: parsed matchers: - option: null query: defaults.yaml query_delimiter: ':' query_method: config.get type: F value: [] - option: G query: osarch query_delimiter: ':' query_method: grains.get type: Y value: amd64 - option: G query: os_family query_delimiter: ':' query_method: grains.get type: Y value: Debian - option: G query: os query_delimiter: ':' query_method: grains.get type: Y value: Debian - option: G query: osfinger query_delimiter: ':' query_method: grains.get type: Y value: Debian-11 - option: C query: foo:lookup query_delimiter: ':' query_method: config.get type: C value: [] - option: C query: foo query_delimiter: ':' query_method: config.get type: C value: [] - option: G query: id query_delimiter: ':' query_method: grains.get type: Y value: salt-alcali_196_salt_master_0 DEBUG:salt.loaded.int.module.logmod:map.jinja: built-in configuration: values: {} DEBUG:salt.loaded.int.module.logmod:map.jinja: load configuration values from foo/parameters/defaults.yaml DEBUG:salt.fileclient:In saltenv 'base', looking at rel_path 'foo/parameters/defaults.yaml' to resolve 'salt://foo/parameters/defaults.yaml' DEBUG:salt.fileclient:In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/foo/parameters/defaults.yaml' to resolve 'salt://foo/parameters/defaults.yaml' DEBUG:salt.loaded.int.module.logmod:map.jinja: loaded configuration values from foo/parameters/defaults.yaml: values: foo: bar DEBUG:salt.utils.lazy:LazyLoaded slsutil.merge DEBUG:salt.loaded.int.module.logmod:map.jinja: merged configuration values from foo/parameters/defaults.yaml, merge: strategy='smart', merge_lists='False': values: foo: bar DEBUG:salt.loaded.int.module.logmod:map.jinja: load configuration values from foo/parameters/defaults.yaml.jinja DEBUG:salt.fileclient:Could not find file 'salt://foo/parameters/defaults.yaml.jinja' in saltenv 'base' DEBUG:salt.loaded.int.module.logmod:map.jinja: load configuration values from foo/parameters/osarch/amd64.yaml DEBUG:salt.fileclient:Could not find file 'salt://foo/parameters/osarch/amd64.yaml' in saltenv 'base' DEBUG:salt.loaded.int.module.logmod:map.jinja: load configuration values from foo/parameters/osarch/amd64.yaml.jinja DEBUG:salt.fileclient:Could not find file 'salt://foo/parameters/osarch/amd64.yaml.jinja' in saltenv 'base' DEBUG:salt.loaded.int.module.logmod:map.jinja: load configuration values from foo/parameters/os_family/Debian.yaml DEBUG:salt.fileclient:Could not find file 'salt://foo/parameters/os_family/Debian.yaml' in saltenv 'base' DEBUG:salt.loaded.int.module.logmod:map.jinja: load configuration values from foo/parameters/os_family/Debian.yaml.jinja DEBUG:salt.fileclient:Could not find file 'salt://foo/parameters/os_family/Debian.yaml.jinja' in saltenv 'base' DEBUG:salt.loaded.int.module.logmod:map.jinja: load configuration values from foo/parameters/os/Debian.yaml DEBUG:salt.fileclient:Could not find file 'salt://foo/parameters/os/Debian.yaml' in saltenv 'base' DEBUG:salt.loaded.int.module.logmod:map.jinja: load configuration values from foo/parameters/os/Debian.yaml.jinja DEBUG:salt.fileclient:Could not find file 'salt://foo/parameters/os/Debian.yaml.jinja' in saltenv 'base' DEBUG:salt.loaded.int.module.logmod:map.jinja: load configuration values from foo/parameters/osfinger/Debian-11.yaml DEBUG:salt.fileclient:Could not find file 'salt://foo/parameters/osfinger/Debian-11.yaml' in saltenv 'base' DEBUG:salt.loaded.int.module.logmod:map.jinja: load configuration values from foo/parameters/osfinger/Debian-11.yaml.jinja DEBUG:salt.fileclient:Could not find file 'salt://foo/parameters/osfinger/Debian-11.yaml.jinja' in saltenv 'base' DEBUG:salt.loaded.int.module.logmod:map.jinja: merge 'foo:lookup' retrieved with 'config.get', merge: strategy='smart', lists='False': {} DEBUG:salt.loaded.int.module.logmod:map.jinja: merge 'foo' retrieved with 'config.get', merge: strategy='smart', lists='False': {} DEBUG:salt.loaded.int.module.logmod:map.jinja: load configuration values from foo/parameters/id/salt-alcali_196_salt_master_0.yaml DEBUG:salt.fileclient:Could not find file 'salt://foo/parameters/id/salt-alcali_196_salt_master_0.yaml' in saltenv 'base' DEBUG:salt.loaded.int.module.logmod:map.jinja: load configuration values from foo/parameters/id/salt-alcali_196_salt_master_0.yaml.jinja DEBUG:salt.fileclient:Could not find file 'salt://foo/parameters/id/salt-alcali_196_salt_master_0.yaml.jinja' in saltenv 'base' DEBUG:salt.loaded.int.module.logmod:map.jinja: final configuration values: values: foo: bar DEBUG:salt.loaded.int.module.logmod:map.jinja: save parameters in variable 'mapdata' DEBUG:salt.loaded.int.module.logmod:map.jinja: post-processing of 'mapdata' DEBUG:salt.fileclient:Could not find file 'salt://foo/post-map.jinja' in saltenv 'base' PROFILE:salt.template:Time (in seconds) to render '/var/cache/salt/minion/files/base/foo/test.sls' using 'jinja' renderer: 0.30371975898742676 DEBUG:salt.loaded.int.render.yaml:Results of YAML rendering: OrderedDict([('do-nothing', OrderedDict([('test.nop', [OrderedDict([('name', OrderedDict([('foo', 'bar'), ('map_jinja', OrderedDict([('sources', ['Y:G@osarch', 'Y:G@os_family', 'Y:G@os', 'Y:G@osfinger', 'C@foo:lookup', 'C@foo', 'Y:G@id'])]))]))])])]))]) PROFILE:salt.template:Time (in seconds) to render '/var/cache/salt/minion/files/base/foo/test.sls' using 'yaml' renderer: 0.00039649009704589844 DEBUG:salt.utils.lazy:LazyLoaded test.nop INFO:salt.state:Running state [do-nothing] at time 14:29:48.906731 INFO:salt.state:Executing state test.nop for [do-nothing] INFO:salt.state:Success! INFO:salt.state:Completed state [do-nothing] at time 14:29:48.907715 (duration_in_ms=0.984) DEBUG:salt.state:File /var/cache/salt/minion/accumulator/139704432781008 does not exist, no need to cleanup DEBUG:salt.transport.zeromq:Closing AsyncZeroMQReqChannel instance DEBUG:salt.utils.lazy:LazyLoaded state.check_result DEBUG:salt.transport.zeromq:Closing AsyncZeroMQReqChannel instance ```

Note that running from python directly does not set the opts[__cli], it's only from scripts.

Documentation checklist

Testing checklist

Additional context

myii commented 2 years ago

@baby-gnu Thanks for all your investigation efforts in reaching this fix!

saltstack-formulas-travis commented 2 years ago

:tada: This PR is included in version 3.0.2 :tada:

The release is available on GitHub release

Your semantic-release bot :package::rocket:

myii commented 2 years ago

@baby-gnu Pushed out to all relevant formulas using https://github.com/myii/ssf-formula/pull/411 (with you as the commit author). Thanks again.