Skip to content

[BUG] Formula doesn't work on EL 8 #2

@ggiesen

Description

@ggiesen

Your setup

Formula commit hash / release tag

735cc76

Versions reports (master & minion)

salt --versions-report
Salt Version:
          Salt: 3003

Dependency Versions:
          cffi: 1.14.0
      cherrypy: unknown
      dateutil: 2.6.1
     docker-py: Not Installed
         gitdb: Not Installed
     gitpython: Not Installed
        Jinja2: 2.11.2
       libgit2: 1.0.1
      M2Crypto: 0.35.2
          Mako: Not Installed
       msgpack: 0.6.2
  msgpack-pure: Not Installed
  mysql-python: Not Installed
     pycparser: 2.20
      pycrypto: Not Installed
  pycryptodome: Not Installed
        pygit2: 1.3.0
        Python: 3.6.8 (default, Aug 24 2020, 17:57:11)
  python-gnupg: 0.4.6
        PyYAML: 5.3.1
         PyZMQ: 19.0.0
         smmap: Not Installed
       timelib: Not Installed
       Tornado: 4.5.3
           ZMQ: 4.3.4

System Versions:
          dist: centos 8
        locale: UTF-8
       machine: x86_64
       release: 4.18.0-240.22.1.el8_3.x86_64
        system: Linux
       version: CentOS Linux 8

Pillar / config used

Pillar:

ad:
  realm: example.local
  dc: host.example.local
  join_username: {{ salt['sdb.get']('sdb://secret/username') }}
  join_password: {{ salt['sdb.get']('sdb://secret/password') }}

  pkg:
    # Don't purge packages when doing `ad.member.package.clean`
    clean_purge_deps: false

  sssd:
    config:
      # Login without `@<REALM>`
      use_fully_qualified_names: false

      # If user don't have `unixHomeDirectory` LDAP attribute
      fallback_homedir: /home/%u

State Top File:

base:
...
  ' host':
    - platform.all
    - platform.host
    - ad.join

(Also tried ad.member)

Bug details

Describe the bug

State `ad/member/linux/package/install/pkg.installed` fails:
----------
          ID: ad/member/linux/package/install/pkg.installed
    Function: pkg.installed
      Result: False
     Comment: Error occurred installing package(s). Additional info follows:

              errors:
                  - Running scope as unit: run-r1ecdb590c3c5433aa8ca1883fbe8e312.scope
                    Last metadata expiration check: 0:00:02 ago on Mon May 31 10:14:14 2021.
                    No match for argument: heimdal-clients
                    No match for argument: libnss-sss
                    No match for argument: libpam-sss
                    Error: Unable to find a match: heimdal-clients libnss-sss libpam-sss
     Started: 10:13:59.852164
    Duration: 18908.308 ms
     Changes:   
----------

Steps to reproduce the bug

Set up pillar and states as above

# salt host state.apply ad.join

Minion debug logs:

[DEBUG   ] Command details {'fun': 'state.apply', 'arg': ['ad.join'], 'tgt': 'host', 'jid': '20210531142504911152', 'ret': '', 'tgt_type': 'glob', 'to': 5, 'user': 'sudo_user'}
[DEBUG   ] Subprocess ProcessPayload-Job-20210531142504911152 added
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] LazyLoaded jinja.render
[DEBUG   ] LazyLoaded yaml.render
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[INFO    ] Starting a new job 20210531142504911152 with PID 86450
[DEBUG   ] Could not LazyLoad direct_call.allow_missing_func: 'direct_call.allow_missing_func' is not available.
[DEBUG   ] LazyLoaded state.apply
[DEBUG   ] LazyLoaded saltutil.is_running
[DEBUG   ] Override  __grains__: <module 'salt.loaded.int.module.grains' from '/usr/lib/python3.6/site-packages/salt/modules/grains.py'>    
[DEBUG   ] LazyLoaded grains.get
[DEBUG   ] LazyLoaded config.get
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Initializing new AsyncZeroMQReqChannel for ('/etc/salt/pki/minion', 'host', 'tcp://192.0.2.37:4506', 'aes')
[DEBUG   ] Initializing new AsyncAuth for ('/etc/salt/pki/minion', 'host', 'tcp://192.0.2.37:4506')
[DEBUG   ] Connecting the Minion to the Master URI (for the return server): tcp://192.0.2.37:4506
[DEBUG   ] Trying to connect to: tcp://192.0.2.37:4506
[DEBUG   ] Gathering pillar data for state run
[DEBUG   ] Determining pillar cache
[DEBUG   ] Initializing new AsyncZeroMQReqChannel for ('/etc/salt/pki/minion', 'host', 'tcp://192.0.2.37:4506', 'aes')
[DEBUG   ] Initializing new AsyncAuth for ('/etc/salt/pki/minion', 'host', 'tcp://192.0.2.37:4506')
[DEBUG   ] Connecting the Minion to the Master URI (for the return server): tcp://192.0.2.37:4506
[DEBUG   ] Trying to connect to: tcp://192.0.2.37:4506
[DEBUG   ] salt.crypt.get_rsa_key: Loading private key
[DEBUG   ] Loaded minion key: /etc/salt/pki/minion/minion.pem
[DEBUG   ] Closing AsyncZeroMQReqChannel instance
[DEBUG   ] Finished gathering pillar data for state run
[INFO    ] Loading fresh modules for state activity
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] LazyLoaded jinja.render
[DEBUG   ] LazyLoaded yaml.render
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/join.sls' to resolve 'salt://ad/join.sls'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/join.sls' to resolve 'salt://ad/join.sls'        
[DEBUG   ] compile template: /var/cache/salt/minion/files/base/ad/join.sls
[DEBUG   ] Jinja search path: ['/var/cache/salt/minion/files/base']
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Initializing new AsyncZeroMQReqChannel for ('/etc/salt/pki/minion', 'host', 'tcp://192.0.2.37:4506', 'aes')
[DEBUG   ] Initializing new AsyncAuth for ('/etc/salt/pki/minion', 'host', 'tcp://192.0.2.37:4506')
[DEBUG   ] Connecting the Minion to the Master URI (for the return server): tcp://192.0.2.37:4506
[DEBUG   ] Trying to connect to: tcp://192.0.2.37:4506
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/join.sls' using 'jinja' renderer: 0.017723798751831055
[DEBUG   ] Rendered data from file: /var/cache/salt/minion/files/base/ad/join.sls:
# -*- mode: salt; coding: utf-8 -*-
# vim: ft=sls

include:
  - .member

[DEBUG   ] Results of YAML rendering:
OrderedDict([('include', ['.member'])])
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/join.sls' using 'yaml' renderer: 0.0006487369537353516
[DEBUG   ] Could not find file 'salt://ad/member.sls' in saltenv 'base'
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/member/init.sls' to resolve 'salt://ad/member/init.sls'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/member/init.sls' to resolve 'salt://ad/member/init.sls'
[DEBUG   ] compile template: /var/cache/salt/minion/files/base/ad/member/init.sls
[DEBUG   ] Jinja search path: ['/var/cache/salt/minion/files/base']
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/init.sls' using 'jinja' renderer: 0.0027823448181152344
[DEBUG   ] Rendered data from file: /var/cache/salt/minion/files/base/ad/member/init.sls:
# -*- mode: salt; coding: utf-8 -*-
# vim: ft=sls

include:
  - .linux

[DEBUG   ] Results of YAML rendering:
OrderedDict([('include', ['.linux'])])
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/init.sls' using 'yaml' renderer: 0.0003101825714111328  
[DEBUG   ] Could not find file 'salt://ad/member/linux.sls' in saltenv 'base'
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/member/linux/init.sls' to resolve 'salt://ad/member/linux/init.sls'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/member/linux/init.sls' to resolve 'salt://ad/member/linux/init.sls'
[DEBUG   ] compile template: /var/cache/salt/minion/files/base/ad/member/linux/init.sls
[DEBUG   ] Jinja search path: ['/var/cache/salt/minion/files/base']
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/linux/init.sls' using 'jinja' renderer: 0.0008728504180908203
[DEBUG   ] Rendered data from file: /var/cache/salt/minion/files/base/ad/member/linux/init.sls:
# -*- mode: salt; coding: utf-8 -*-
# vim: ft=sls

include:
  - .package
  - .config
  - .join
  - .service

[DEBUG   ] Results of YAML rendering:
OrderedDict([('include', ['.package', '.config', '.join', '.service'])])
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/linux/init.sls' using 'yaml' renderer: 0.00037169456481933594
[DEBUG   ] Could not find file 'salt://ad/member/linux/package.sls' in saltenv 'base'
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/member/linux/package/init.sls' to resolve 'salt://ad/member/linux/package/init.sls'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/member/linux/package/init.sls' to resolve 'salt://ad/member/linux/package/init.sls'
[DEBUG   ] compile template: /var/cache/salt/minion/files/base/ad/member/linux/package/init.sls
[DEBUG   ] Jinja search path: ['/var/cache/salt/minion/files/base']
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/linux/package/init.sls' using 'jinja' renderer: 0.0008547306060791016
[DEBUG   ] Rendered data from file: /var/cache/salt/minion/files/base/ad/member/linux/package/init.sls:
# -*- mode: salt; coding: utf-8 -*-
# vim: ft=sls

include:
  - .conflicts
  - .install

[DEBUG   ] Results of YAML rendering:
OrderedDict([('include', ['.conflicts', '.install'])])
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/linux/package/init.sls' using 'yaml' renderer: 0.0003001689910888672
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/member/linux/package/conflicts.sls' to resolve 'salt://ad/member/linux/package/conflicts.sls'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/member/linux/package/conflicts.sls' to resolve 'salt://ad/member/linux/package/conflicts.sls'
[DEBUG   ] compile template: /var/cache/salt/minion/files/base/ad/member/linux/package/conflicts.sls
[DEBUG   ] Jinja search path: ['/var/cache/salt/minion/files/base']
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/map.jinja' to resolve 'salt://ad/map.jinja'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/map.jinja' to resolve 'salt://ad/map.jinja'
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/libsaltcli.jinja' to resolve 'salt://ad/libsaltcli.jinja'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/libsaltcli.jinja' to resolve 'salt://ad/libsaltcli.jinja'
[DEBUG   ] LazyLoaded log.debug
[DEBUG   ] [libsaltcli] the salt command type has been identified to be: minion
[DEBUG   ] map.jinja: built-in configuration sources:
values:
  map_jinja:
    sources:
    - Y:G@osarch
    - Y:G@os_family
    - Y:G@os
    - Y:G@osfinger
    - C@ad:lookup
    - C@ad
    - Y:G@id
[DEBUG   ] map.jinja: load global map.jinja values from parameters/map_jinja.yaml
[DEBUG   ] Could not find file 'salt://parameters/map_jinja.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: load per formula map.jinja values from ad/parameters/map_jinja.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/map_jinja.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: load parameters from sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@ad:lookup
- C@ad
- Y:G@id
[DEBUG   ] map.jinja: load per formula default values from ad/parameters/defaults.yaml
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/parameters/defaults.yaml' to resolve 'salt://ad/parameters/defaults.yaml'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/parameters/defaults.yaml' to resolve 'salt://ad/parameters/defaults.yaml'
[DEBUG   ] LazyLoaded config.get
[DEBUG   ] map.jinja: lookup 'osarch' with 'grains.get', delimiter=':'
[DEBUG   ] Override  __grains__: <module 'salt.loaded.int.module.grains' from '/usr/lib/python3.6/site-packages/salt/modules/grains.py'>    
[DEBUG   ] LazyLoaded grains.get
[DEBUG   ] map.jinja: load parameters from file ad/parameters/osarch/x86_64.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/osarch/x86_64.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: lookup 'os_family' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/os_family/RedHat.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/os_family/RedHat.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: lookup 'os' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/os/CentOS.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/os/CentOS.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: lookup 'osfinger' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/osfinger/CentOS Linux-8.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/osfinger/CentOS Linux-8.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: retrieve 'ad:lookup' with 'config.get', delimiter=':', merge: strategy='None'
[DEBUG   ] map.jinja: merge 'ad:lookup' retrieved with 'config.get', merge: strategy='smart', lists='False'
[DEBUG   ] LazyLoaded slsutil.merge
[DEBUG   ] map.jinja: retrieve 'ad' with 'config.get', delimiter=':', merge: strategy='None'
[DEBUG   ] map.jinja: merge 'ad' retrieved with 'config.get', merge: strategy='smart', lists='False'
[DEBUG   ] map.jinja: lookup 'id' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/id/host.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/id/host.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: save parameters in variable 'mapdata'
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/linux/package/conflicts.sls' using 'jinja' renderer: 0.2779529094696045
[DEBUG   ] Rendered data from file: /var/cache/salt/minion/files/base/ad/member/linux/package/conflicts.sls:
# -*- mode: salt; coding: utf-8 -*-
# vim: ft=sls

ad/member/linux/package/conflicts/pkg.purged:
  pkg.purged:
    - pkgs: ["libnss-ldap", "libnss-ldapd", "libpam-ldap", "libpam-ldapd", "nscd", "nslcd", "nslcd-utils"]

[DEBUG   ] Results of YAML rendering:
OrderedDict([('ad/member/linux/package/conflicts/pkg.purged', OrderedDict([('pkg.purged', [OrderedDict([('pkgs', ['libnss-ldap', 'libnss-ldapd', 'libpam-ldap', 'libpam-ldapd', 'nscd', 'nslcd', 'nslcd-utils'])])])]))])
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/linux/package/conflicts.sls' using 'yaml' renderer: 0.00048160552978515625
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/member/linux/package/install.sls' to resolve 'salt://ad/member/linux/package/install.sls'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/member/linux/package/install.sls' to resolve 'salt://ad/member/linux/package/install.sls'
[DEBUG   ] compile template: /var/cache/salt/minion/files/base/ad/member/linux/package/install.sls
[DEBUG   ] Jinja search path: ['/var/cache/salt/minion/files/base']
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/map.jinja' to resolve 'salt://ad/map.jinja'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/map.jinja' to resolve 'salt://ad/map.jinja'      
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/libsaltcli.jinja' to resolve 'salt://ad/libsaltcli.jinja'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/libsaltcli.jinja' to resolve 'salt://ad/libsaltcli.jinja'
[DEBUG   ] [libsaltcli] the salt command type has been identified to be: minion
[DEBUG   ] map.jinja: built-in configuration sources:
values:
  map_jinja:
    sources:
    - Y:G@osarch
    - Y:G@os_family
    - Y:G@os
    - Y:G@osfinger
    - C@ad:lookup
    - C@ad
    - Y:G@id
[DEBUG   ] map.jinja: load global map.jinja values from parameters/map_jinja.yaml
[DEBUG   ] Could not find file 'salt://parameters/map_jinja.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: load per formula map.jinja values from ad/parameters/map_jinja.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/map_jinja.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: load parameters from sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@ad:lookup
- C@ad
- Y:G@id
[DEBUG   ] map.jinja: load per formula default values from ad/parameters/defaults.yaml
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/parameters/defaults.yaml' to resolve 'salt://ad/parameters/defaults.yaml'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/parameters/defaults.yaml' to resolve 'salt://ad/parameters/defaults.yaml'
[DEBUG   ] map.jinja: lookup 'osarch' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/osarch/x86_64.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/osarch/x86_64.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: lookup 'os_family' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/os_family/RedHat.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/os_family/RedHat.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: lookup 'os' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/os/CentOS.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/os/CentOS.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: lookup 'osfinger' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/osfinger/CentOS Linux-8.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/osfinger/CentOS Linux-8.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: retrieve 'ad:lookup' with 'config.get', delimiter=':', merge: strategy='None'
[DEBUG   ] map.jinja: merge 'ad:lookup' retrieved with 'config.get', merge: strategy='smart', lists='False'
[DEBUG   ] map.jinja: retrieve 'ad' with 'config.get', delimiter=':', merge: strategy='None'
[DEBUG   ] map.jinja: merge 'ad' retrieved with 'config.get', merge: strategy='smart', lists='False'
[DEBUG   ] map.jinja: lookup 'id' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/id/host.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/id/host.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: save parameters in variable 'mapdata'
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/linux/package/install.sls' using 'jinja' renderer: 0.26723217964172363
[DEBUG   ] Rendered data from file: /var/cache/salt/minion/files/base/ad/member/linux/package/install.sls:
# -*- mode: salt; coding: utf-8 -*-
# vim: ft=sls

ad/member/linux/package/install/pkg.installed:
  pkg.installed:
    - pkgs: ["adcli", "heimdal-clients", "libnss-sss", "libpam-sss", "realmd", "sssd", "sssd-tools"]

[DEBUG   ] Results of YAML rendering:
OrderedDict([('ad/member/linux/package/install/pkg.installed', OrderedDict([('pkg.installed', [OrderedDict([('pkgs', ['adcli', 'heimdal-clients', 'libnss-sss', 'libpam-sss', 'realmd', 'sssd', 'sssd-tools'])])])]))])
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/linux/package/install.sls' using 'yaml' renderer: 0.0008037090301513672
[DEBUG   ] Could not find file 'salt://ad/member/linux/config.sls' in saltenv 'base'
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/member/linux/config/init.sls' to resolve 'salt://ad/member/linux/config/init.sls'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/member/linux/config/init.sls' to resolve 'salt://ad/member/linux/config/init.sls'
[DEBUG   ] compile template: /var/cache/salt/minion/files/base/ad/member/linux/config/init.sls
[DEBUG   ] Jinja search path: ['/var/cache/salt/minion/files/base']
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/linux/config/init.sls' using 'jinja' renderer: 0.001068115234375
[DEBUG   ] Rendered data from file: /var/cache/salt/minion/files/base/ad/member/linux/config/init.sls:
# -*- mode: salt; coding: utf-8 -*-
# vim: ft=sls

include:
  - .krb5
  - .sssd

[DEBUG   ] Results of YAML rendering:
OrderedDict([('include', ['.krb5', '.sssd'])])
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/linux/config/init.sls' using 'yaml' renderer: 0.00031948089599609375
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/member/linux/config/krb5.sls' to resolve 'salt://ad/member/linux/config/krb5.sls'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/member/linux/config/krb5.sls' to resolve 'salt://ad/member/linux/config/krb5.sls'
[DEBUG   ] compile template: /var/cache/salt/minion/files/base/ad/member/linux/config/krb5.sls
[DEBUG   ] Jinja search path: ['/var/cache/salt/minion/files/base']
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/map.jinja' to resolve 'salt://ad/map.jinja'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/map.jinja' to resolve 'salt://ad/map.jinja'
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/libsaltcli.jinja' to resolve 'salt://ad/libsaltcli.jinja'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/libsaltcli.jinja' to resolve 'salt://ad/libsaltcli.jinja'
[DEBUG   ] [libsaltcli] the salt command type has been identified to be: minion
[DEBUG   ] map.jinja: built-in configuration sources:
values:
  map_jinja:
    sources:
    - Y:G@osarch
    - Y:G@os_family
    - Y:G@os
    - Y:G@osfinger
    - C@ad:lookup
    - C@ad
    - Y:G@id
[DEBUG   ] map.jinja: load global map.jinja values from parameters/map_jinja.yaml
[DEBUG   ] Could not find file 'salt://parameters/map_jinja.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: load per formula map.jinja values from ad/parameters/map_jinja.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/map_jinja.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: load parameters from sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@ad:lookup
- C@ad
- Y:G@id
[DEBUG   ] map.jinja: load per formula default values from ad/parameters/defaults.yaml
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/parameters/defaults.yaml' to resolve 'salt://ad/parameters/defaults.yaml'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/parameters/defaults.yaml' to resolve 'salt://ad/parameters/defaults.yaml'
[DEBUG   ] map.jinja: lookup 'osarch' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/osarch/x86_64.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/osarch/x86_64.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: lookup 'os_family' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/os_family/RedHat.yaml
[DEBUG   ] LazyLoaded list_match.match
[INFO    ] User sudo_user Executing command saltutil.find_job with jid 20210531142509984683
[DEBUG   ] Command details {'fun': 'saltutil.find_job', 'arg': ['20210531142504911152'], 'tgt': ['host'], 'jid': '20210531142509984683', 'ret': '', 'tgt_type': 'list', 'to': 10, 'user': 'sudo_user'}
[DEBUG   ] Subprocess ProcessPayload-Job-20210531142509984683 added
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Could not find file 'salt://ad/parameters/os_family/RedHat.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: lookup 'os' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/os/CentOS.yaml
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Could not find file 'salt://ad/parameters/os/CentOS.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: lookup 'osfinger' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/osfinger/CentOS Linux-8.yaml
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Could not find file 'salt://ad/parameters/osfinger/CentOS Linux-8.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: retrieve 'ad:lookup' with 'config.get', delimiter=':', merge: strategy='None'
[DEBUG   ] map.jinja: merge 'ad:lookup' retrieved with 'config.get', merge: strategy='smart', lists='False'
[DEBUG   ] map.jinja: retrieve 'ad' with 'config.get', delimiter=':', merge: strategy='None'
[DEBUG   ] map.jinja: merge 'ad' retrieved with 'config.get', merge: strategy='smart', lists='False'
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] map.jinja: lookup 'id' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/id/host.yaml
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Could not find file 'salt://ad/parameters/id/host.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: save parameters in variable 'mapdata'
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] LazyLoaded jinja.render
[DEBUG   ] LazyLoaded yaml.render
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[INFO    ] Starting a new job 20210531142509984683 with PID 86537
[DEBUG   ] Could not LazyLoad direct_call.allow_missing_func: 'direct_call.allow_missing_func' is not available.
[DEBUG   ] LazyLoaded saltutil.find_job
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/libtofs.jinja' to resolve 'salt://ad/libtofs.jinja'
[DEBUG   ] Minion return retry timer set to 5 seconds (randomized)
[INFO    ] Returning information for job: 20210531142509984683
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/libtofs.jinja' to resolve 'salt://ad/libtofs.jinja'
[DEBUG   ] Initializing new AsyncZeroMQReqChannel for ('/etc/salt/pki/minion', 'host', 'tcp://192.0.2.37:4506', 'aes')
[DEBUG   ] Initializing new AsyncAuth for ('/etc/salt/pki/minion', 'host', 'tcp://192.0.2.37:4506')
[DEBUG   ] Connecting the Minion to the Master URI (for the return server): tcp://192.0.2.37:4506
[DEBUG   ] Trying to connect to: tcp://192.0.2.37:4506
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/linux/config/krb5.sls' using 'jinja' renderer: 0.32106542587280273
[DEBUG   ] Rendered data from file: /var/cache/salt/minion/files/base/ad/member/linux/config/krb5.sls:
# -*- mode: salt; coding: utf-8 -*-
# vim: ft=sls

include:
  - ad.member.linux.package.install

ad/member/linux/config/krb5/file.managed:
  file.managed:
    - name: /etc/krb5.conf
    - source:
      - salt://ad/files/host/krb5.conf.jinja
      - salt://ad/files/host/krb5.conf
      - salt://ad/files/RedHat/krb5.conf.jinja
      - salt://ad/files/RedHat/krb5.conf
      - salt://ad/files/default/krb5.conf.jinja
      - salt://ad/files/default/krb5.conf
    - template: jinja
    - context:
        ad: {"dc": "host.example.local", "join_password": "CorrectHorseBatteryStaple", "join_username": "user@example.local", "krb5": {"config": "/etc/krb5.conf", "kinit_password_tmpfile": "/root/kinit-password"}, "map_jinja": {"sources": ["Y:G@osarch", "Y:G@os_family", "Y:G@os", "Y:G@osfinger", "C@ad:lookup", "C@ad", "Y:G@id"]}, "pkg": {"clean_purge_deps": false, "conflicts": ["libnss-ldap", "libnss-ldapd", "libpam-ldap", "libpam-ldapd", "nscd", "nslcd", "nslcd-utils"], "dependencies": ["adcli", "heimdal-clients", "libnss-sss", "libpam-sss", "realmd", "sssd", "sssd-tools"]}, "realm": "example.local", "sssd": {"config": {"fallback_homedir": "/home/%u", "use_fully_qualified_names": false}, "config_file": "/etc/sssd/sssd.conf", "service": "sssd"}}
    - require:
      - sls: ad.member.linux.package.install

[DEBUG   ] Results of YAML rendering:
OrderedDict([('include', ['ad.member.linux.package.install']), ('ad/member/linux/config/krb5/file.managed', OrderedDict([('file.managed', [OrderedDict([('name', '/etc/krb5.conf')]), OrderedDict([('source', ['salt://ad/files/host/krb5.conf.jinja', 'salt://ad/files/host/krb5.conf', 'salt://ad/files/RedHat/krb5.conf.jinja', 'salt://ad/files/RedHat/krb5.conf', 'salt://ad/files/default/krb5.conf.jinja', 'salt://ad/files/default/krb5.conf'])]), OrderedDict([('template', 'jinja')]), OrderedDict([('context', OrderedDict([('ad', OrderedDict([('dc', 'host.example.local'), ('join_password', 'CorrectHorseBatteryStaple'), ('join_username', 'user@example.local'), ('krb5', OrderedDict([('config', '/etc/krb5.conf'), ('kinit_password_tmpfile', '/root/kinit-password')])), ('map_jinja', OrderedDict([('sources', ['Y:G@osarch', 'Y:G@os_family', 'Y:G@os', 'Y:G@osfinger', 'C@ad:lookup', 'C@ad', 'Y:G@id'])])), ('pkg', OrderedDict([('clean_purge_deps', False), ('conflicts', ['libnss-ldap', 'libnss-ldapd', 'libpam-ldap', 'libpam-ldapd', 'nscd', 'nslcd', 'nslcd-utils']), ('dependencies', ['adcli', 'heimdal-clients', 'libnss-sss', 'libpam-sss', 'realmd', 'sssd', 'sssd-tools'])])), ('realm', 'example.local'), ('sssd', OrderedDict([('config', OrderedDict([('fallback_homedir', '/home/%u'), ('use_fully_qualified_names', False)])), ('config_file', '/etc/sssd/sssd.conf'), ('service', 'sssd')]))]))]))]), OrderedDict([('require', [OrderedDict([('sls', 'ad.member.linux.package.install')])])])])]))])
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/linux/config/krb5.sls' using 'yaml' renderer: 0.0010800361633300781
[DEBUG   ] Closing AsyncZeroMQReqChannel instance
[DEBUG   ] minion return: {'success': True, 'return': {'pid': 86450, 'fun': 'state.apply', 'arg': ['ad.join'], 'tgt': 'host', 'jid': '20210531142504911152', 'ret': '', 'tgt_type': 'glob', 'to': 5, 'user': 'sudo_user'}, 'retcode': 0, 'jid': '20210531142509984683', 'fun': 'saltutil.find_job', 'fun_args': ['20210531142504911152']}
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/member/linux/config/sssd.sls' to resolve 'salt://ad/member/linux/config/sssd.sls'     
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/member/linux/config/sssd.sls' to resolve 'salt://ad/member/linux/config/sssd.sls'
[DEBUG   ] compile template: /var/cache/salt/minion/files/base/ad/member/linux/config/sssd.sls
[DEBUG   ] Jinja search path: ['/var/cache/salt/minion/files/base']
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/map.jinja' to resolve 'salt://ad/map.jinja'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/map.jinja' to resolve 'salt://ad/map.jinja'
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/libsaltcli.jinja' to resolve 'salt://ad/libsaltcli.jinja'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/libsaltcli.jinja' to resolve 'salt://ad/libsaltcli.jinja'
[DEBUG   ] [libsaltcli] the salt command type has been identified to be: minion
[DEBUG   ] map.jinja: built-in configuration sources:
values:
  map_jinja:
    sources:
    - Y:G@osarch
    - Y:G@os_family
    - Y:G@os
    - Y:G@osfinger
    - C@ad:lookup
    - C@ad
    - Y:G@id
[DEBUG   ] map.jinja: load global map.jinja values from parameters/map_jinja.yaml
[DEBUG   ] Could not find file 'salt://parameters/map_jinja.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: load per formula map.jinja values from ad/parameters/map_jinja.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/map_jinja.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: load parameters from sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@ad:lookup
- C@ad
- Y:G@id
[DEBUG   ] map.jinja: load per formula default values from ad/parameters/defaults.yaml
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/parameters/defaults.yaml' to resolve 'salt://ad/parameters/defaults.yaml'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/parameters/defaults.yaml' to resolve 'salt://ad/parameters/defaults.yaml'
[DEBUG   ] map.jinja: lookup 'osarch' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/osarch/x86_64.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/osarch/x86_64.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: lookup 'os_family' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/os_family/RedHat.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/os_family/RedHat.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: lookup 'os' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/os/CentOS.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/os/CentOS.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: lookup 'osfinger' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/osfinger/CentOS Linux-8.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/osfinger/CentOS Linux-8.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: retrieve 'ad:lookup' with 'config.get', delimiter=':', merge: strategy='None'
[DEBUG   ] map.jinja: merge 'ad:lookup' retrieved with 'config.get', merge: strategy='smart', lists='False'
[DEBUG   ] map.jinja: retrieve 'ad' with 'config.get', delimiter=':', merge: strategy='None'
[DEBUG   ] map.jinja: merge 'ad' retrieved with 'config.get', merge: strategy='smart', lists='False'
[DEBUG   ] map.jinja: lookup 'id' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/id/host.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/id/host.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: save parameters in variable 'mapdata'
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/linux/config/sssd.sls' using 'jinja' renderer: 0.29857349395751953
[DEBUG   ] Rendered data from file: /var/cache/salt/minion/files/base/ad/member/linux/config/sssd.sls:
# -*- mode: salt; coding: utf-8 -*-
# vim: ft=sls

include:
  - ad.member.linux.join
  - ad.member.linux.service.running
ad/member/linux/config/sssd/ini.options_present:
  ini.options_present:
    - name: /etc/sssd/sssd.conf
    - sections:
        domain/example.local: {fallback_homedir: /home/%u, use_fully_qualified_names: false}
    - require:
      - sls: ad.member.linux.join
    - watch_in:
      - sls: ad.member.linux.service.running

[DEBUG   ] Results of YAML rendering:
OrderedDict([('include', ['ad.member.linux.join', 'ad.member.linux.service.running']), ('ad/member/linux/config/sssd/ini.options_present', OrderedDict([('ini.options_present', [OrderedDict([('name', '/etc/sssd/sssd.conf')]), OrderedDict([('sections', OrderedDict([('domain/example.local', OrderedDict([('fallback_homedir', '/home/%u'), ('use_fully_qualified_names', False)]))]))]), OrderedDict([('require', [OrderedDict([('sls', 'ad.member.linux.join')])])]), OrderedDict([('watch_in', [OrderedDict([('sls', 'ad.member.linux.service.running')])])])])]))])  
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/linux/config/sssd.sls' using 'yaml' renderer: 0.0012083053588867188
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/member/linux/join.sls' to resolve 'salt://ad/member/linux/join.sls'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/member/linux/join.sls' to resolve 'salt://ad/member/linux/join.sls'
[DEBUG   ] compile template: /var/cache/salt/minion/files/base/ad/member/linux/join.sls
[DEBUG   ] Jinja search path: ['/var/cache/salt/minion/files/base']
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/map.jinja' to resolve 'salt://ad/map.jinja'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/map.jinja' to resolve 'salt://ad/map.jinja'      
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/libsaltcli.jinja' to resolve 'salt://ad/libsaltcli.jinja'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/libsaltcli.jinja' to resolve 'salt://ad/libsaltcli.jinja'
[DEBUG   ] [libsaltcli] the salt command type has been identified to be: minion
[DEBUG   ] map.jinja: built-in configuration sources:
values:
  map_jinja:
    sources:
    - Y:G@osarch
    - Y:G@os_family
    - Y:G@os
    - Y:G@osfinger
    - C@ad:lookup
    - C@ad
    - Y:G@id
[DEBUG   ] map.jinja: load global map.jinja values from parameters/map_jinja.yaml
[DEBUG   ] Could not find file 'salt://parameters/map_jinja.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: load per formula map.jinja values from ad/parameters/map_jinja.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/map_jinja.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: load parameters from sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@ad:lookup
- C@ad
- Y:G@id
[DEBUG   ] map.jinja: load per formula default values from ad/parameters/defaults.yaml
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/parameters/defaults.yaml' to resolve 'salt://ad/parameters/defaults.yaml'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/parameters/defaults.yaml' to resolve 'salt://ad/parameters/defaults.yaml'
[DEBUG   ] map.jinja: lookup 'osarch' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/osarch/x86_64.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/osarch/x86_64.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: lookup 'os_family' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/os_family/RedHat.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/os_family/RedHat.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: lookup 'os' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/os/CentOS.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/os/CentOS.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: lookup 'osfinger' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/osfinger/CentOS Linux-8.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/osfinger/CentOS Linux-8.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: retrieve 'ad:lookup' with 'config.get', delimiter=':', merge: strategy='None'
[DEBUG   ] map.jinja: merge 'ad:lookup' retrieved with 'config.get', merge: strategy='smart', lists='False'
[DEBUG   ] map.jinja: retrieve 'ad' with 'config.get', delimiter=':', merge: strategy='None'
[DEBUG   ] map.jinja: merge 'ad' retrieved with 'config.get', merge: strategy='smart', lists='False'
[DEBUG   ] map.jinja: lookup 'id' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/id/host.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/id/host.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: save parameters in variable 'mapdata'
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/linux/join.sls' using 'jinja' renderer: 0.30157971382141113
[DEBUG   ] Rendered data from file: /var/cache/salt/minion/files/base/ad/member/linux/join.sls:
# -*- mode: salt; coding: utf-8 -*-
# vim: ft=sls

include:
  - ad.member.linux.config.krb5
ad/member/linux/join/passwd-file/file.managed:
  file.managed:
    - name: /root/kinit-password
    - contents: CorrectHorseBatteryStaple
    - contents_newline: False
    - unless: "realm discover example.local | grep -qs 'configured: kerberos-member'"
    - require:
      - sls: ad.member.linux.config.krb5

ad/member/linux/join/kinit/cmd.run:
  cmd.run:
    - name: kinit --password-file=/root/kinit-password user@example.local
    - onchanges:
      - file: ad/member/linux/join/passwd-file/file.managed

ad/member/linux/join/join/cmd.run:
  cmd.run:
    - name: realm -v join --unattended "example.local"
    - onchanges:
      - cmd: ad/member/linux/join/kinit/cmd.run

ad/member/linux/join/kdestroy/cmd.run:
  cmd.run:
    - name: kdestroy
    - onchanges:
      - cmd: ad/member/linux/join/kinit/cmd.run
ad/member/linux/join/passwd-file/file.absent:
  file.absent:
    - name: /root/kinit-password

[DEBUG   ] Results of YAML rendering:
OrderedDict([('include', ['ad.member.linux.config.krb5']), ('ad/member/linux/join/passwd-file/file.managed', OrderedDict([('file.managed', [OrderedDict([('name', '/root/kinit-password')]), OrderedDict([('contents', 'CorrectHorseBatteryStaple')]), OrderedDict([('contents_newline', False)]), OrderedDict([('unless', "realm discover example.local | grep -qs 'configured: kerberos-member'")]), OrderedDict([('require', [OrderedDict([('sls', 'ad.member.linux.config.krb5')])])])])])), ('ad/member/linux/join/kinit/cmd.run', OrderedDict([('cmd.run', [OrderedDict([('name', 'kinit --password-file=/root/kinit-password user@example.local')]), OrderedDict([('onchanges', [OrderedDict([('file', 'ad/member/linux/join/passwd-file/file.managed')])])])])])), ('ad/member/linux/join/join/cmd.run', OrderedDict([('cmd.run', [OrderedDict([('name', 'realm -v join --unattended "example.local"')]), OrderedDict([('onchanges', [OrderedDict([('cmd', 'ad/member/linux/join/kinit/cmd.run')])])])])])), ('ad/member/linux/join/kdestroy/cmd.run', OrderedDict([('cmd.run', [OrderedDict([('name', 'kdestroy')]), OrderedDict([('onchanges', [OrderedDict([('cmd', 'ad/member/linux/join/kinit/cmd.run')])])])])])), ('ad/member/linux/join/passwd-file/file.absent', OrderedDict([('file.absent', [OrderedDict([('name', '/root/kinit-password')])])]))])
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/linux/join.sls' using 'yaml' renderer: 0.001950979232788086
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/member/linux/service/running.sls' to resolve 'salt://ad/member/linux/service/running.sls'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/member/linux/service/running.sls' to resolve 'salt://ad/member/linux/service/running.sls'
[DEBUG   ] compile template: /var/cache/salt/minion/files/base/ad/member/linux/service/running.sls
[DEBUG   ] Jinja search path: ['/var/cache/salt/minion/files/base']
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/map.jinja' to resolve 'salt://ad/map.jinja'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/map.jinja' to resolve 'salt://ad/map.jinja'      
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/libsaltcli.jinja' to resolve 'salt://ad/libsaltcli.jinja'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/libsaltcli.jinja' to resolve 'salt://ad/libsaltcli.jinja'
[DEBUG   ] [libsaltcli] the salt command type has been identified to be: minion
[DEBUG   ] map.jinja: built-in configuration sources:
values:
  map_jinja:
    sources:
    - Y:G@osarch
    - Y:G@os_family
    - Y:G@os
    - Y:G@osfinger
    - C@ad:lookup
    - C@ad
    - Y:G@id
[DEBUG   ] map.jinja: load global map.jinja values from parameters/map_jinja.yaml
[DEBUG   ] Could not find file 'salt://parameters/map_jinja.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: load per formula map.jinja values from ad/parameters/map_jinja.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/map_jinja.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: load parameters from sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@ad:lookup
- C@ad
- Y:G@id
[DEBUG   ] map.jinja: load per formula default values from ad/parameters/defaults.yaml
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/parameters/defaults.yaml' to resolve 'salt://ad/parameters/defaults.yaml'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/parameters/defaults.yaml' to resolve 'salt://ad/parameters/defaults.yaml'
[DEBUG   ] map.jinja: lookup 'osarch' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/osarch/x86_64.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/osarch/x86_64.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: lookup 'os_family' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/os_family/RedHat.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/os_family/RedHat.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: lookup 'os' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/os/CentOS.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/os/CentOS.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: lookup 'osfinger' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/osfinger/CentOS Linux-8.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/osfinger/CentOS Linux-8.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: retrieve 'ad:lookup' with 'config.get', delimiter=':', merge: strategy='None'
[DEBUG   ] map.jinja: merge 'ad:lookup' retrieved with 'config.get', merge: strategy='smart', lists='False'
[DEBUG   ] map.jinja: retrieve 'ad' with 'config.get', delimiter=':', merge: strategy='None'
[DEBUG   ] map.jinja: merge 'ad' retrieved with 'config.get', merge: strategy='smart', lists='False'
[DEBUG   ] Subprocess ProcessPayload-Job-20210531142509984683 cleaned up
[DEBUG   ] map.jinja: lookup 'id' with 'grains.get', delimiter=':'
[DEBUG   ] map.jinja: load parameters from file ad/parameters/id/host.yaml
[DEBUG   ] Could not find file 'salt://ad/parameters/id/host.yaml' in saltenv 'base'
[DEBUG   ] map.jinja: save parameters in variable 'mapdata'
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/linux/service/running.sls' using 'jinja' renderer: 0.29349827766418457
[DEBUG   ] Rendered data from file: /var/cache/salt/minion/files/base/ad/member/linux/service/running.sls:
# -*- mode: salt; coding: utf-8 -*-
# vim: ft=sls

include:
  - ad.member.linux.join

ad/member/linux/service/running/service.running/sssd:
  service.running:
    - name: sssd
    - enable: True
    - watch:
      - sls: ad.member.linux.join

[DEBUG   ] Results of YAML rendering:
OrderedDict([('include', ['ad.member.linux.join']), ('ad/member/linux/service/running/service.running/sssd', OrderedDict([('service.running', [OrderedDict([('name', 'sssd')]), OrderedDict([('enable', True)]), OrderedDict([('watch', [OrderedDict([('sls', 'ad.member.linux.join')])])])])]))])
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/linux/service/running.sls' using 'yaml' renderer: 0.0004525184631347656
[DEBUG   ] Could not find file 'salt://ad/member/linux/service.sls' in saltenv 'base'
[DEBUG   ] In saltenv 'base', looking at rel_path 'ad/member/linux/service/init.sls' to resolve 'salt://ad/member/linux/service/init.sls'
[DEBUG   ] In saltenv 'base', ** considering ** path '/var/cache/salt/minion/files/base/ad/member/linux/service/init.sls' to resolve 'salt://ad/member/linux/service/init.sls'
[DEBUG   ] compile template: /var/cache/salt/minion/files/base/ad/member/linux/service/init.sls
[DEBUG   ] Jinja search path: ['/var/cache/salt/minion/files/base']
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/linux/service/init.sls' using 'jinja' renderer: 0.0010082721710205078
[DEBUG   ] Rendered data from file: /var/cache/salt/minion/files/base/ad/member/linux/service/init.sls:
# -*- mode: salt; coding: utf-8 -*-
# vim: ft=sls

include:
  - .running

[DEBUG   ] Results of YAML rendering:
OrderedDict([('include', ['.running'])])
[PROFILE ] Time (in seconds) to render '/var/cache/salt/minion/files/base/ad/member/linux/service/init.sls' using 'yaml' renderer: 0.00028967857360839844
[DEBUG   ] LazyLoaded pkg.install
[DEBUG   ] LazyLoaded pkg.purged
[DEBUG   ] LazyLoaded path.which
[DEBUG   ] Override  __salt__: <module 'salt.loaded.int.module.dracr' from '/usr/lib/python3.6/site-packages/salt/modules/dracr.py'>
[DEBUG   ] Reading configuration from /etc/salt/minion
[DEBUG   ] Including configuration from '/etc/salt/minion.d/_schedule.conf'
[DEBUG   ] Reading configuration from /etc/salt/minion.d/_schedule.conf
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Could not LazyLoad idem.hub: 'idem' __virtual__ returned False: No module named 'pop'
[DEBUG   ] Override  __salt__: <module 'salt.loaded.int.module.kubeadm' from '/usr/lib/python3.6/site-packages/salt/modules/kubeadm.py'>
[DEBUG   ] Override  __salt__: <module 'salt.loaded.int.module.udev' from '/usr/lib/python3.6/site-packages/salt/modules/udev.py'>
[DEBUG   ] Override  __pillar__: <module 'salt.loaded.int.module.virtualenv_mod' from '/usr/lib/python3.6/site-packages/salt/modules/virtualenv_mod.py'>
[DEBUG   ] DSC: Only available on Windows systems
[DEBUG   ] Module PSGet: Only available on Windows systems
[DEBUG   ] Could not LazyLoad pkg.ex_mod_init: 'pkg.ex_mod_init' is not available.
[INFO    ] Running state [ad/member/linux/package/conflicts/pkg.purged] at time 10:25:11.400998
[INFO    ] Executing state pkg.purged for [ad/member/linux/package/conflicts/pkg.purged]
[INFO    ] Executing command rpm in directory '/root'
[INFO    ] All specified packages are already absent
[INFO    ] Completed state [ad/member/linux/package/conflicts/pkg.purged] at time 10:25:13.605755 (duration_in_ms=2204.757)
[DEBUG   ] Could not LazyLoad pkg.ex_mod_init: 'pkg.ex_mod_init' is not available.
[INFO    ] Running state [ad/member/linux/package/install/pkg.installed] at time 10:25:13.620675
[INFO    ] Executing state pkg.installed for [ad/member/linux/package/install/pkg.installed]
[DEBUG   ] Could not LazyLoad pkg.resolve_capabilities: 'pkg.resolve_capabilities' is not available.
[DEBUG   ] Could not LazyLoad pkg.check_db: 'pkg.check_db' is not available.
[INFO    ] Executing command systemd-run in directory '/root'
[INFO    ] Executing command systemd-run in directory '/root'
[INFO    ] User sudo_user Executing command saltutil.find_job with jid 20210531142525112294
[DEBUG   ] Command details {'fun': 'saltutil.find_job', 'arg': ['20210531142504911152'], 'tgt': ['host'], 'jid': '20210531142525112294', 'ret': '', 'tgt_type': 'list', 'to': 10, 'user': 'sudo_user'}
[DEBUG   ] Subprocess ProcessPayload-Job-20210531142525112294 added
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] LazyLoaded jinja.render
[DEBUG   ] LazyLoaded yaml.render
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[INFO    ] Starting a new job 20210531142525112294 with PID 86638
[DEBUG   ] Could not LazyLoad direct_call.allow_missing_func: 'direct_call.allow_missing_func' is not available.
[DEBUG   ] LazyLoaded saltutil.find_job
[DEBUG   ] Minion return retry timer set to 9 seconds (randomized)
[INFO    ] Returning information for job: 20210531142525112294
[DEBUG   ] Initializing new AsyncZeroMQReqChannel for ('/etc/salt/pki/minion', 'host', 'tcp://192.0.2.37:4506', 'aes')
[DEBUG   ] Initializing new AsyncAuth for ('/etc/salt/pki/minion', 'host', 'tcp://192.0.2.37:4506')
[DEBUG   ] Connecting the Minion to the Master URI (for the return server): tcp://192.0.2.37:4506
[DEBUG   ] Trying to connect to: tcp://192.0.2.37:4506
[DEBUG   ] Closing AsyncZeroMQReqChannel instance
[DEBUG   ] minion return: {'success': True, 'return': {'pid': 86450, 'fun': 'state.apply', 'arg': ['ad.join'], 'tgt': 'host', 'jid': '20210531142504911152', 'ret': '', 'tgt_type': 'glob', 'to': 5, 'user': 'sudo_user'}, 'retcode': 0, 'jid': '20210531142525112294', 'fun': 'saltutil.find_job', 'fun_args': ['20210531142504911152']}
[DEBUG   ] Subprocess ProcessPayload-Job-20210531142525112294 cleaned up
[DEBUG   ] Failed to get holds, versionlock plugin is probably not installed
[INFO    ] Executing command systemd-run in directory '/root'
[ERROR   ] Command 'systemd-run' failed with return code: 1
[ERROR   ] stdout: Running scope as unit: run-rad05f5c0a31b4d6cbd79a7f822f051a3.scope
Last metadata expiration check: 0:00:01 ago on Mon May 31 10:25:35 2021.
No match for argument: heimdal-clients
No match for argument: libnss-sss
No match for argument: libpam-sss
Error: Unable to find a match: heimdal-clients libnss-sss libpam-sss
[ERROR   ] retcode: 1
[INFO    ] Executing command rpm in directory '/root'
[INFO    ] User sudo_user Executing command saltutil.find_job with jid 20210531142540236215
[DEBUG   ] Command details {'fun': 'saltutil.find_job', 'arg': ['20210531142504911152'], 'tgt': ['host'], 'jid': '20210531142540236215', 'ret': '', 'tgt_type': 'list', 'to': 10, 'user': 'sudo_user'}
[DEBUG   ] Subprocess ProcessPayload-Job-20210531142540236215 added
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] LazyLoaded jinja.render
[DEBUG   ] LazyLoaded yaml.render
[DEBUG   ] Using pkg_resources to load entry points
[DEBUG   ] Using pkg_resources to load entry points
[INFO    ] Starting a new job 20210531142540236215 with PID 86696
[DEBUG   ] Could not LazyLoad direct_call.allow_missing_func: 'direct_call.allow_missing_func' is not available.
[DEBUG   ] LazyLoaded saltutil.find_job
[DEBUG   ] Minion return retry timer set to 6 seconds (randomized)
[INFO    ] Returning information for job: 20210531142540236215
[DEBUG   ] Initializing new AsyncZeroMQReqChannel for ('/etc/salt/pki/minion', 'host', 'tcp://192.0.2.37:4506', 'aes')
[DEBUG   ] Initializing new AsyncAuth for ('/etc/salt/pki/minion', 'host', 'tcp://192.0.2.37:4506')
[DEBUG   ] Connecting the Minion to the Master URI (for the return server): tcp://192.0.2.37:4506
[DEBUG   ] Trying to connect to: tcp://192.0.2.37:4506
[DEBUG   ] Closing AsyncZeroMQReqChannel instance
[DEBUG   ] minion return: {'success': True, 'return': {'pid': 86450, 'fun': 'state.apply', 'arg': ['ad.join'], 'tgt': 'host', 'jid': '20210531142504911152', 'ret': '', 'tgt_type': 'glob', 'to': 5, 'user': 'sudo_user'}, 'retcode': 0, 'jid': '20210531142540236215', 'fun': 'saltutil.find_job', 'fun_args': ['20210531142504911152']}
[ERROR   ] Error occurred installing package(s). Additional info follows:

errors:
    - Running scope as unit: run-rad05f5c0a31b4d6cbd79a7f822f051a3.scope
      Last metadata expiration check: 0:00:01 ago on Mon May 31 10:25:35 2021.
      No match for argument: heimdal-clients
      No match for argument: libnss-sss
      No match for argument: libpam-sss
      Error: Unable to find a match: heimdal-clients libnss-sss libpam-sss
[INFO    ] Completed state [ad/member/linux/package/install/pkg.installed] at time 10:25:39.639941 (duration_in_ms=26019.265)
[DEBUG   ] LazyLoaded file.managed
[DEBUG   ] LazyLoaded cmd.run
[INFO    ] Running state [/root/kinit-password] at time 10:25:39.646965
[INFO    ] Executing state file.absent for [/root/kinit-password]
[INFO    ] File /root/kinit-password is not present
[INFO    ] Completed state [/root/kinit-password] at time 10:25:39.648681 (duration_in_ms=1.715)
[DEBUG   ] LazyLoaded service.running
[DEBUG   ] LazyLoaded ini.options_present
[DEBUG   ] File /var/cache/salt/minion/accumulator/140132892999128 does not exist, no need to cleanup
[DEBUG   ] LazyLoaded state.check_result
[DEBUG   ] Minion return retry timer set to 10 seconds (randomized)
[INFO    ] Returning information for job: 20210531142504911152
[DEBUG   ] Initializing new AsyncZeroMQReqChannel for ('/etc/salt/pki/minion', 'host', 'tcp://192.0.2.37:4506', 'aes')
[DEBUG   ] Initializing new AsyncAuth for ('/etc/salt/pki/minion', 'host', 'tcp://192.0.2.37:4506')
[DEBUG   ] Connecting the Minion to the Master URI (for the return server): tcp://192.0.2.37:4506
[DEBUG   ] Trying to connect to: tcp://192.0.2.37:4506
[DEBUG   ] Closing AsyncZeroMQReqChannel instance
[DEBUG   ] minion return: {'success': False, 'return': {'pkg_|-ad/member/linux/package/conflicts/pkg.purged_|-ad/member/linux/package/conflicts/pkg.purged_|-purged': {'name': 'ad/member/linux/package/conflicts/pkg.purged', 'changes': {}, 'result': True, 'comment': 'All specified 
packages are already absent', '__sls__': 'ad.member.linux.package.conflicts', '__run_num__': 0, 'start_time': '10:25:11.400998', 'duration': 2204.757, '__id__': 'ad/member/linux/package/conflicts/pkg.purged'}, 'pkg_|-ad/member/linux/package/install/pkg.installed_|-ad/member/linux/package/install/pkg.installed_|-installed': {'name': 'ad/member/linux/package/install/pkg.installed', 'result': False, 'changes': {}, 'comment': 'Error occurred installing package(s). Additional info follows:\n\nerrors:\n    - Running scope as unit: run-rad05f5c0a31b4d6cbd79a7f822f051a3.scope\n      Last metadata expiration check: 0:00:01 ago on Mon May 31 10:25:35 2021.\n      No match for argument: heimdal-clients\n      No match for argument: libnss-sss\n      No match for argument: libpam-sss\n      Error: Unable to find a match: heimdal-clients libnss-sss libpam-sss', '__sls__': 'ad.member.linux.package.install', '__run_num__': 1, 'start_time': '10:25:13.620676', 'duration': 26019.265, '__id__': 'ad/member/linux/package/install/pkg.installed'}, 'file_|-ad/member/linux/config/krb5/file.managed_|-/etc/krb5.conf_|-managed': {'changes': {}, 'result': False, 'duration': 0.004, 'start_time': '10:25:39.644813', 'comment': 'One or more requisite failed: ad.member.linux.package.install.ad/member/linux/package/install/pkg.installed', '__run_num__': 2, '__sls__': 'ad.member.linux.config.krb5'}, 'file_|-ad/member/linux/join/passwd-file/file.managed_|-/root/kinit-password_|-managed': {'changes': {}, 'result': False, 'duration': 0.003, 'start_time': '10:25:39.645015', 'comment': 'One or more requisite failed: ad.member.linux.config.krb5.ad/member/linux/config/krb5/file.managed', '__run_num__': 3, '__sls__': 'ad.member.linux.join'}, 'cmd_|-ad/member/linux/join/kinit/cmd.run_|-kinit --password-file=/root/kinit-password user@example.local_|-run': {'changes': {}, 'result': False, 'duration': 0.004, 'start_time': '10:25:39.646313', 'comment': 'One or more requisite failed: ad.member.linux.join.ad/member/linux/join/passwd-file/file.managed', '__run_num__': 4, '__sls__': 'ad.member.linux.join'}, 'cmd_|-ad/member/linux/join/join/cmd.run_|-realm -v join --unattended "example.local"_|-run': {'changes': {}, 'result': False, 'duration': 0.003, 'start_time': '10:25:39.646681', 'comment': 'One or more requisite failed: ad.member.linux.join.ad/member/linux/join/kinit/cmd.run', '__run_num__': 5, '__sls__': 'ad.member.linux.join'}, 'cmd_|-ad/member/linux/join/kdestroy/cmd.run_|-kdestroy_|-run': {'changes': {}, 
'result': False, 'duration': 0.002, 'start_time': '10:25:39.646847', 'comment': 'One or more requisite failed: ad.member.linux.join.ad/member/linux/join/kinit/cmd.run', '__run_num__': 6, '__sls__': 'ad.member.linux.join'}, 'file_|-ad/member/linux/join/passwd-file/file.absent_|-/root/kinit-password_|-absent': {'name': '/root/kinit-password', 'changes': {}, 'result': True, 'comment': 'File /root/kinit-password is not present', '__sls__': 'ad.member.linux.join', '__run_num__': 7, 'start_time': '10:25:39.646966', 'duration': 1.715, '__id__': 'ad/member/linux/join/passwd-file/file.absent'}, 'ini_|-ad/member/linux/config/sssd/ini.options_present_|-/etc/sssd/sssd.conf_|-options_present': {'changes': {}, 'result': False, 'duration': 0.004, 'start_time': '10:25:39.651007', 'comment': 'One or more requisite failed: ad.member.linux.join.ad/member/linux/join/kdestroy/cmd.run, ad.member.linux.join.ad/member/linux/join/passwd-file/file.managed, ad.member.linux.join.ad/member/linux/join/join/cmd.run, ad.member.linux.join.ad/member/linux/join/kinit/cmd.run', '__run_num__': 8, '__sls__': 'ad.member.linux.config.sssd'}, 
'service_|-ad/member/linux/service/running/service.running/sssd_|-sssd_|-running': {'changes': {}, 'result': False, 'duration': 0.002, 'start_time': '10:25:39.651225', 'comment': 'One or more requisite failed: ad.member.linux.join.ad/member/linux/join/join/cmd.run, ad.member.linux.config.sssd.ad/member/linux/config/sssd/ini.options_present, ad.member.linux.join.ad/member/linux/join/kinit/cmd.run, ad.member.linux.join.ad/member/linux/join/passwd-file/file.managed, ad.member.linux.join.ad/member/linux/join/kdestroy/cmd.run', '__run_num__': 9, '__sls__': 'ad.member.linux.service.running'}}, 'retcode': 2, 'jid': '20210531142504911152', 'fun': 'state.apply', 'fun_args': ['ad.join']}
[DEBUG   ] Subprocess ProcessPayload-Job-20210531142504911152 cleaned up
[DEBUG   ] Subprocess ProcessPayload-Job-20210531142540236215 cleaned up

Expected behaviour

Join AD domain

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions