saltstack / saltstack/salt

ssh_list_nodegroups and match: nodegroup

Open
#43,448 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug Salt-SSH severity-medium
Dominant language
Python
Stars
15.7k
Forks
5.6k
Avg merge
2d 44m
Merged PRs (30d)
80

Description

Description of Issue/Question

When using salt-ssh and ssh_list_nodegroups in etc/master, the match: nodegroup parameter in both pillar/top.sls and salt/top.sls doesn't seem to be taken into account. I'm not sure if this was even intended.

Setup
# etc/master
ssh_list_nodegroups:
    syslog:
        - syslog101

# etc/roster
syslog101:
    host:   syslog101.example.com

# srv/salt/top.sls 
base:
    '*':
        - common
    syslog:
        - match: nodegroup
        - filesystems
        - files
        - services
# srv/pillar/top.sls 
base:
    '*':
        - common
    syslog:
        - match: nodegroup
        - filesystems.syslog
        - files.syslog
        - services.syslog
Steps to Reproduce Issue

Configure as shown above
Run with salt-ssh -N syslog state.apply

[me@workstation salt]$ salt-ssh -lprofile  -N syslog state.apply 
[WARNING ] Insecure logging configuration detected! Sensitive data may be logged.
[PROFILE ] Time (in seconds) to render '/home/me/salt/etc/roster' using 'jinja' renderer: 0.00398278236389
[PROFILE ] Time (in seconds) to render '/home/me/salt/etc/roster' using 'yaml' renderer: 0.00501298904419
[PROFILE ] Time (in seconds) to render '/home/me/salt/srv/pillar/top.sls' using 'jinja' renderer: 0.00184082984924
[PROFILE ] Time (in seconds) to render '/home/me/salt/srv/pillar/top.sls' using 'yaml' renderer: 0.00846695899963
[PROFILE ] Time (in seconds) to render '/home/me/salt/srv/pillar/top.sls' using 'jinja' renderer: 0.00147795677185
[PROFILE ] Time (in seconds) to render '/home/me/salt/srv/pillar/top.sls' using 'yaml' renderer: 0.0063648223877
[PROFILE ] Time (in seconds) to render '/home/me/salt/cache/master/files/base/top.sls' using 'jinja' renderer: 0.00123691558838
[PROFILE ] Time (in seconds) to render '/home/me/salt/cache/master/files/base/top.sls' using 'yaml' renderer: 0.00399303436279
[PROFILE ] Time (in seconds) to render '/home/me/salt/cache/master/files/base/common.sls' using 'jinja' renderer: 0.00113797187805
[PROFILE ] Time (in seconds) to render '/home/me/salt/cache/master/files/base/common.sls' using 'yaml' renderer: 0.00209498405457
Versions Report

Salt Version:
Salt: 2017.7.0

Dependency Versions:
cffi: 1.10.0
cherrypy: Not Installed
dateutil: 2.6.1
docker-py: Not Installed
gitdb: Not Installed
gitpython: Not Installed
ioflo: Not Installed
Jinja2: 2.9.6
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: 2.18
pycrypto: 2.6.1
pycryptodome: Not Installed
pygit2: Not Installed
Python: 2.7.13 (default, Jun 26 2017, 10:20:05)
python-gnupg: Not Installed
PyYAML: 3.12
PyZMQ: 16.0.2
RAET: Not Installed
smmap: Not Installed
timelib: Not Installed
Tornado: 4.5.1
ZMQ: 4.1.6

System Versions:
dist: fedora 26 Twenty Six
locale: UTF-8
machine: x86_64
release: 4.12.9-300.fc26.x86_64
system: Linux
version: Fedora 26 Twenty Six

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the ssh-ssh nodegroup configuration in etc/master and etc/roster, then inspect the matching behavior for srv/pillar/top.sls and srv/salt/top.sls. Reproduce the issue with salt-ssh -N syslog state.apply and determine the intended result for the match: nodegroup entries before defining what a fix should verify.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
devops, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.