Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

salt.states.linux_acl requires setfacl/getacl binaries but this is not obvious #43560

Closed
smitelli opened this issue Sep 16, 2017 · 1 comment
Closed
Labels
Documentation Relates to Salt documentation
Milestone

Comments

@smitelli
Copy link

smitelli commented Sep 16, 2017

Description of Issue/Question

Updating a functional Debian Jessie installation to Stretch. Apparently Stretch no longer includes setfacl or getfacl binaries by default (i.e. the acl system package is not installed) but salt.states.linux_acl depends on it.

The documentation page as currently written makes no mention of these binaries being required (although in hindsight it makes sense that this would be the case). The error message returned during the failed run is inscrutable, and I had to dig through the source to finally figure out what it actually wanted me to do.

Ideally the error message could give a little more helpful hint, indicating that it tried to run setfacl but it wasn't installed. Barring that, at least call out the requirements in the documentation.

SIDE NOTE: The documentation page also has an inconsistency in that sometimes it shows acl and sometimes it shows linux_acl. Are these synonyms? Did the name change and some references weren't updated?

Setup

Pristine Debian Stretch installation without setfacl and/or getfacl binaries available. SLS snippet follows:

/opt:
  acl.present:
    - acl_type: group
    - acl_name: deploy
    - perms: rwx

Steps to Reproduce Issue

$ setfacl
-bash: setfacl: command not found
$ getfacl
-bash: getfacl: command not found
$ sudo salt-call --local state.apply

[...snip...]

     Changes:
----------
          ID: /opt
    Function: linux_acl.present
      Result: False
     Comment: State 'linux_acl.present' was not found in SLS 'user.deploy'
              Reason: 'linux_acl' __virtual__ returned False

Versions Report

Salt Version:
           Salt: 2017.7.1

Dependency Versions:
           cffi: Not Installed
       cherrypy: Not Installed
       dateutil: 2.5.3
      docker-py: Not Installed
          gitdb: Not Installed
      gitpython: Not Installed
          ioflo: Not Installed
         Jinja2: 2.9.4
        libgit2: Not Installed
        libnacl: Not Installed
       M2Crypto: Not Installed
           Mako: Not Installed
   msgpack-pure: Not Installed
 msgpack-python: 0.4.8
   mysql-python: Not Installed
      pycparser: Not Installed
       pycrypto: 2.6.1
   pycryptodome: Not Installed
         pygit2: Not Installed
         Python: 2.7.13 (default, Jan 19 2017, 14:48:08)
   python-gnupg: Not Installed
         PyYAML: 3.12
          PyZMQ: 16.0.2
           RAET: Not Installed
          smmap: Not Installed
        timelib: Not Installed
        Tornado: 4.4.3
            ZMQ: 4.2.1

System Versions:
           dist: debian 9.1
         locale: UTF-8
        machine: x86_64
        release: 4.9.0-3-amd64
         system: Linux
        version: debian 9.1
@garethgreenaway garethgreenaway added this to the Approved milestone Sep 18, 2017
@garethgreenaway garethgreenaway added Bug broken, incorrect, or confusing behavior severity-medium 3rd level, incorrect or bad functionality, confusing and lacks a work around P2 Priority 2 Documentation Relates to Salt documentation and removed Bug broken, incorrect, or confusing behavior severity-medium 3rd level, incorrect or bad functionality, confusing and lacks a work around P2 Priority 2 labels Sep 18, 2017
@rallytime
Copy link
Contributor

Thanks for submitting this @smitelli. The documentation error should be fixed with #43560 and helping find the error with the loader returning False is fixed with #43587.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Documentation Relates to Salt documentation
Projects
None yet
Development

No branches or pull requests

3 participants