salt: pillars not updated on minions until salt-minion is restarted

Description of Issue/Question

When using git_pilalr, if I make a change to the pillar data on the repo and run:

salt '*' saltutil.refresh_pillar

The pillar data is not updated. only if the minion is restarted that new pillars show up when I run

salt '*' pillar.item pillar_name

the git_pillar config file in /etc/salt/master.d/pillar_config.conf:

   git_pillar_provider: pygit2
   ext_pillar:
     - git:
       - master gitlab@repository_url/repository_name.git:
         - root: pillar/base
         - env: base
         - privkey: /root/.ssh/id_rsa
         - pubkey: /root/.ssh/id_rsa.pub

Steps to reproduce:

I am not sure how this will be reproduced. I am using the same repo for gitfs and git_pillar and all hosts are RHEL6/7 on a virtual environment (vMWare)

Versions Report

Salt Version:
           Salt: 2015.8.7

Dependency Versions:
         Jinja2: 2.7.2
       M2Crypto: 0.21.1
           Mako: Not Installed
         PyYAML: 3.11
          PyZMQ: 14.7.0
         Python: 2.7.5 (default, Oct 11 2015, 17:47:16)
           RAET: Not Installed
        Tornado: 4.2.1
            ZMQ: 4.0.5
           cffi: 0.8.6
       cherrypy: Not Installed
       dateutil: 1.5
          gitdb: 0.5.4
      gitpython: 0.3.2 RC1
          ioflo: Not Installed
        libgit2: 0.21.0
        libnacl: Not Installed
   msgpack-pure: Not Installed
 msgpack-python: 0.4.7
   mysql-python: Not Installed
      pycparser: 2.14
       pycrypto: 2.6.1
         pygit2: 0.21.4
   python-gnupg: Not Installed
          smmap: 0.8.1
        timelib: Not Installed

System Versions:
           dist: redhat 7.2 Maipo
        machine: x86_64
        release: 3.10.0-229.el7.x86_64
         system: Red Hat Enterprise Linux Server 7.2 Maipo

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Reactions: 2
  • Comments: 27 (16 by maintainers)

Most upvoted comments

I am new to Salt and was following an older tutorial when I ran into the same issue. It seems that the expected folder structure changed.

The tutorial said that I should store both my state and pillar data in the /srv/salt/ directory. According to the master config etc/salt/master the actual default pillar root is in /srv/pillar/:

#####         Pillar settings        #####
##########################################
# Salt Pillars allow for the building of global data that can be made selectively
# available to different minions based on minion grain filtering. The Salt
# Pillar is laid out in the same fashion as the file server, with environments,
# a top file and sls files. However, pillar data does not need to be in the
# highstate format, and is generally just key/value pairs.
#pillar_roots:
#  base:
#    - /srv/pillar

Once I moved my files to the correct folders everything started to work 😃

EDIT: Another beginner problem I ran into - when creating sub-folders in /srv/salt don’t forget to set permissions.

I’m hitting the same issue in 2018.3.2.

I found that I could workaround my problems by doing this on the master:

pillar_cache: False